python 调试 c++源码
cmake设置debug。被设置为 Debug。和-O0表示禁用优化。-Wall启用所有编译警告。-g和-ggdb添加调试信息。请根据您的具体编译器和构建环境调整编译选项。
·
1. gdb常用调试命令概览和说明
2.常用操作样例
gdb 调试
GDB(GNU Debugger)是一个强大的命令行调试工具,可以用于调试C、C++、Go、Python等多种编程语言编写的程序。以下是使用GDB进行调试的基本步骤和示例:
编译程序时,需要加上-g
选项以包含调试信息:
gcc -g -o my_program my_program.c
启动GDB:
gdb my_program
在GDB中设置断点:
(gdb) break 10 # 在源代码第10行设置断点
运行程序:
(gdb) run
单步执行:
(gdb) step # 进入函数内部
(gdb) next # 跳过函数
检查变量值:
(gdb) print i # 打印变量i的值
继续执行直到遇到下一个断点:
(gdb) continue
退出GDB:
(gdb) quit
2. 编译c++库设置Debug模式
cmake设置debug
在CMake中设置debug模式通常意味着启用调试信息和优化
。以下是一个简单的CMakeLists.txt文件示例,展示了如何设置项目以便在Debug模式下构建:
cmake_minimum_required(VERSION 3.0)
project(MyProject)
set(CMAKE_BUILD_TYPE Debug)
set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
set(CMAKE_C_FLAGS_DEBUG "$ENV{CFLAGS} -O0 -Wall -g -ggdb")
# 添加源文件
add_executable(my_executable main.cpp)
在这个例子中:
-
CMAKE_BUILD_TYPE
被设置为 Debug。 -
CMAKE_CXX_FLAGS_DEBUG
和CMAKE_C_FLAGS_DEBUG
被设置以添加调试选项: -
-O0
表示禁用优化。 -
-Wall
启用所有编译警告。 -
-g
和-ggdb
添加调试信息。
请根据您的具体编译器和构建环境调整编译选项。
3.GBD调试
3.1 启动调试
有两种方式:
交互方式:
$ gdb python
...
(gdb) run <programname>.py <arguments>
自动方式:
$ gdb -ex r --args python <programname>.py <arguments>
程序会直接运行到代码断点处、退出、出现错误、Ctrl+C手动停止
。
如果程序已经运行,你也可以使用process ID
。
$ gdb python <pid of running process>
3.2 查看调试信息
进入程序后可以使用GDB命令进行调试
参考资料:
https://blog.csdn.net/lyc201219/article/details/129276722
https://wiki.python.org/moin/DebuggingWithGdb
更多推荐
已为社区贡献5条内容
所有评论(0)