我想调试从修改的SQLite代码创建的SQLite数据库的实例。当用户从数据库中选择一些数据时,我想逐步浏览SQLite源代码,看看SQLite的逻辑是什么。这样做的目的是我想看看我是否可以将SELECT触发器添加到SQLite源代码中,并使用我的新类型的触发器创建SQLite数据库。目前SQLite只支持UPDATE触发器,INSERT & DELETE。如何使用Visual Studio调试SQLite源代码
到目前为止,我已经从http://www.sqlite.org/index.html下载了“合并”SQLite源代码,并设法在Visual Studio 2010中构建它。但是我不知道如何调试它。我试图创建一个测试C#的Web应用程序,使用SQLite项目作为项目参考 - 但它不会让我把它作为参考添加它(抛出一个错误,说“引用'mySQLiteproj'无法添加”这是SOOO有用)。我目前的结构只是一个空的C项目,其中包含sqlite3.c和sqlite3.h文件。
SQLite代码是用C编写的,我不熟悉,所以也许我会完全走错了路径?我来自C#背景,所以请不要建议我使用Visual Studio废弃,而改用记事本或其他一些“硬核”IDE :)
简而言之:如何调试SQLite源代码?
编辑:我已经按照Sergey的建议将shell.c文件添加到项目中,现在可以进行“排序”调试。它会在shell.c中达到断点,但不会在sqlite3.c中。我可以从shell.c中调用sqlite3.c作为函数调用,但是这些行似乎与正在运行的代码不匹配。一半的线条是灰色的(通过resharper也许?),并且没有自动监视变量或突出显示代码当前正在打破哪一行。
我在这里创建了基于cmake的SQLite合并构建https://github.com/snikulov/sqlite.cmake.build,以便您可以生成Visual Studio解决方案,将其构建为调试目标,然后进行调试。希望它会有用。 –