您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  gdb breakpoint