首页 > 数据库 >SQLite源码编译与调试

SQLite源码编译与调试

时间:2023-03-18 16:46:44浏览次数:59  
标签:bin src SQLite 编译 源码 usr 3400100 root build

SQLite源码编译与调试

环境要求

  • 操作系统:CentOS 7.6 x64
  • 编译工具:GCC 7.3.1版本及以上
  • 调试工具:vscode(安装C/C++、CMake和CMake Tools插件)、gdb
  • 其他依赖:tcl
  • SQLite源码:sqlite-src-3400100

编译步骤

1. 升级GCC

yum install -y centos-release-scl-rh 
yum install -y centos-release-scl 
# 安装gcc7 
yum install devtoolset-7-gcc.x86_64
yum install devtoolset-7-gcc-c++.x86_64
# 启用
scl enable devtoolset-7 bash
# 查看版本
gcc --version
g++ --version

# 防止失效方法:修改软连接(推荐)
mv /usr/bin/gcc /usr/bin/gcc4.8.5
ln -s  /opt/rh/devtoolset-7/root/usr/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++4.8.5
ln -s /opt/rh/devtoolset-7/root/usr/bin/g++ /usr/bin/g++
mv /usr/bin/cc /usr/bin/cc4.8.5
ln -s /opt/rh/devtoolset-7/root/usr/bin/cc /usr/bin/cc
mv /usr/bin/c++ /usr/bin/c++4.8.5
ln -s /opt/rh/devtoolset-7/root/usr/bin/c++ /usr/bin/c++

2. 安装依赖

yum install -y gdb tcl tcl-devel

3. 编译源码

此处sqlite-src-3400100的存放路径是/root,需要根据自己的存放路径做出调整

# 安装解压工具
yum install -y unzip
# 解压源码包
unzip sqlite-src-3400100
# 进入sqlite-src-3400100
cd /root/sqlite-src-3400100/
# 修改configure文件权限
chmod +x configure
# 新建build文件夹,用于存放编译后的结果
mkdir build
# 进入新建的build文件夹
cd build/
# 配置安装参数,将SQLite安装到新建的build目录下
../configure --prefix=/root/sqlite-src-3400100/build/
# 编译安装
make

4. 开始调试

使用vscode连接虚拟机或远程服务器(参考:vscode连接远程服务器(傻瓜式教学)),打开文件夹/root/sqlite-src-3400100/。新建文件夹.vscode,并在.vscode内部新建文件launch.json,写入如下内容:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "SQLite Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/sqlite3",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "Set Disassembly Flavor to Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }

    ]
}

按照研究需要打上断点,按F5即可调试。

注意:必须在build文件夹内部的源文件打断点,否则断点无效,无法调试。参考断点位置:文件/root/sqlite-src-3400100/build/sqlite3.c第90421行。

标签:bin,src,SQLite,编译,源码,usr,3400100,root,build
From: https://www.cnblogs.com/AnkleBreaker-ZHX/p/17231133.html

相关文章