首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用调试SQLite源代码

如何用调试SQLite源代码
EN

Stack Overflow用户
提问于 2012-09-14 06:48:19
回答 1查看 2.4K关注 0票数 4

我想调试一个由修改后的SQLite代码创建的SQLite数据库实例。当用户从数据库中选择一些数据时,我想逐步了解SQLite源代码,看看SQLite的逻辑是什么。这样做的目的是,我想看看是否可以在SQLite源代码中添加一个SELECT触发器,并在其中创建一个带有新类型触发器的SQLite数据库。目前,SQLite只支持更新、插入和删除的触发器。

到目前为止,我已经从SQLite下载了“合并”的http://www.sqlite.org/index.html源代码,并设法在Visual 2010中构建了它。但是,我不知道如何针对它进行调试。我尝试创建一个测试C# web应用程序,该应用程序使用SQLite项目作为项目引用--但它不允许我将其添加为引用(抛出一个错误,说明“无法添加对'mySQLiteproj‘的引用”,这是非常有用的)。我的当前结构只是一个空的C项目,其中包含sqlite3.c和sqlite3.h文件。

SQLite代码是用C编写的,我对它不熟悉,所以也许我走错了路?我来自C#背景,所以请不要建议我放弃使用Visual,而是使用记事本或其他一些“硬核”IDE :)

简而言之:如何调试SQLite源代码?

编辑:,我已经按照Sergey的建议将shell.c .c文件添加到项目中,现在可以“有点”调试了。它将命中shell.c .c中的断点,而不是sqlite3.c。我可以作为shell.c .c中的函数调用进入sqlite3.c,但是这些行似乎与正在运行的代码不匹配。一半的线是灰色的(也许是被重装的?)并且没有自动观察变量或突出显示代码当前正在中断的行。

EN

回答 1

Stack Overflow用户

发布于 2012-09-14 07:41:08

要调试在“不熟悉”语言上编写的库代码,最好从一开始就开始。

在这里,算法:

  1. 学习语言(C)
  2. 学习工具( Visual中的调试器)
  3. 了解目标(SQLite - is库,它为其他人提供API,因此您需要在SQLite API上设置断点,例如Visual中的sqlite3_open()和“运行”shell.c .c源文件)

我创建了基于cmake的SQLite合并构建,以便您可以生成Visual解决方案,将其构建为调试目标,然后进行调试。希望它会有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12419443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档