c++ - 如何在没有合并源代码的情况下调试 sqlite?

标签 c++ c database sqlite clion

我是我大学数据库组的学生。

最近在分析sqlite3源码!我尝试使用合并源代码(是的,它的大小超过 7.8M)。这个文件太大了,我无法调试它。比如看一些变量或一些表达式。我的代码环境是ubuntu 16.04 Clion 2016.2.3。

  • 我试过用Eclipse for c/c++,可以调试合并源代码,但是很慢,而且我对Eclipse不熟悉
  • 我尝试阅读一些wite makefile和cmakefile的规则,但我不知道如何解决源代码依赖
  • 我尝试在配置文件中使 Clion 内存更大,这样可以使用 clion 中不错的功能,但每次修改源代码时我的 CPU 都会运行 100%
  • 我也尝试学习一些 tcl 脚本,我找到了将所有小文件合并到一个大 sqlite.c 的脚本。

我想找到运行 sqlite 源代码而不是合并代码的解决方案。

so big that some nice features can't use in clion

tcl to amalgamate source code to big one

my cmake file use amalgamation source code

my computer is power with SSD

最佳答案

调试合并代码似乎不是一个好的选择。我也宁愿使用 SQLite 的原始源,当一切正常时,按照步骤自己构建合并(howto compile 的第 4 章)。

要使用原始资源,请转到 Download page of SQlite 的底部.在那里你会找到 alternative sources .下载它们并执行通常的三个步骤(配置 && make && sudo make install)将 lib 安装到您的系统或跳过后者并链接到项目中的 sqlite 编译路径。

祝你好运!

关于c++ - 如何在没有合并源代码的情况下调试 sqlite?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41532722/

相关文章:

c++ - 在 Eigen 中使用 CwiseBinaryOp 时如何摆脱 "invalid use of incomplete type"

c++ - 为什么我们需要&在boost中绑定(bind)成员函数?

c - 为什么这个 C 函数以二进制补码形式返回 int 值?

phpmyadmin,mysql 数据库父?

java - 使用 PL/SQL 调用使用 JDBC 连接到 SQL Server 数据库的 java 方法

c++ - c++中堆栈类的问题

c++ - 如何检查从键盘输入的特定整数值是否存在于 C++ 文件的一行或多行中

c - 当只接受 const void * 类型参数时如何通过 write() 调用传递 "double"?

c++ - 复制结构的一部分

php - 包含颜色和尺寸的库存设计数据库