gdb使用: 标准输入,查看变量,加入调试信息
2016-04-04 05:01
381 查看
使用gdb进行程序调试时,如何将标准输入传给可执行程序?
假设数据在input.txt当中, 可执行文件名为myprogram。
$ cat input.txt
this is a test.
$ gdb myprogram // 启动调试
(gdb) break // 设置断点
run arg1 arg2 ... < input.txt // 传入参数,以及输入数据
n or s //单步调试,n不进入函数,s进入函数
p variable_name //打印变量值
c // 执行至下一断点
使用gdb进行程序调试时,为何变量显示<value optimized out>?
这是因为在编译程序时,设置了-O1, -O2, -O3,应该改为-O0,则变量值可以正常显示。
如果使用cmake来自动生成Makefile,如何加入调试信息?
设置选项-DCMAKE_BUILD_TYPE=Debug
gdb断点设置?
1. break file_path/file_name:line_number
2. break file_path/file_name: function_name
假设数据在input.txt当中, 可执行文件名为myprogram。
$ cat input.txt
this is a test.
$ gdb myprogram // 启动调试
(gdb) break // 设置断点
run arg1 arg2 ... < input.txt // 传入参数,以及输入数据
n or s //单步调试,n不进入函数,s进入函数
p variable_name //打印变量值
c // 执行至下一断点
使用gdb进行程序调试时,为何变量显示<value optimized out>?
这是因为在编译程序时,设置了-O1, -O2, -O3,应该改为-O0,则变量值可以正常显示。
如果使用cmake来自动生成Makefile,如何加入调试信息?
设置选项-DCMAKE_BUILD_TYPE=Debug
gdb断点设置?
1. break file_path/file_name:line_number
2. break file_path/file_name: function_name
相关文章推荐
- 基于Linux调试工具strace与gdb的常用命令总结
- gdb调试命令的使用及总结
- 如何使用GDB调试PHP程序
- MAC下安装gdb
- 使用gdb调试python
- 调试的艺术
- Vim + Gdb 程序的完美集合
- GDB的使用,重点讲解图像化 gdb -tui 方式
- linux偶发性崩溃的程序该怎么调试 coredump gdb
- 使用gdb在Android Emulator中进行调试
- android中使用gdbserver调试c程序
- GDB + gdbserver 远程调试android native code
- Android下用gdb远程调试
- GDB调试命令
- Xcode 的正确打开方式——Debugging
- GDB中应该知道的几个调试方法
- Android native debug: 手动使用gdbserver远程调试C代码
- 欠揍的ffmpeg,调试android里的ffmpeg (1)
- GDB调试之TUI