首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GDB测试脚本

GDB测试脚本
EN

Stack Overflow用户
提问于 2013-06-09 08:37:03
回答 2查看 289关注 0票数 1

所以我对编码比较陌生,所以请原谅不恰当的词汇。我基本上想做的是为GDB创建一个脚本,或者在GDB中输入命令,这样它就可以一遍又一遍地使用测试用例的输入文件运行我的代码。基本上,我现在正在做一个项目,它大量使用信号量和互斥量,并且在某个地方,每隔一次,我的代码就会因为竞态条件而中断。如果我可以让gdb连续运行我的测试用例,直到我的代码达到seg错误,这将是最理想的。

PS-请具体说明我必须做什么,我不太擅长剖析有沉重技术答案的答案。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2013-06-09 11:38:14

最简单的解决方案是expect脚本。Expect是一个自动与公开文本终端界面的程序交互的程序。

示例可在http://en.wikipedia.org/wiki/Expect上找到

脚本应如下所示

代码语言:javascript
复制
#!/usr/bin/expect

# start gdb
spawn gdb yourprogram

while {1} {

# wait for gdb to start, expect the (gdb) to appear
expect "(gdb)"

# send command to run your program
send "run your_args\n"

expect {
    "Program exited normally."    {continue}  # just run again
    "(Some error message)"        {interact}  # start to debug
}

}
票数 1
EN

Stack Overflow用户

发布于 2015-06-22 17:21:07

您可以使用GDB脚本来自动化GDB sessions.The,GDB宏编码语言由gdb命令、基本循环语句和条件语句组成。

你可以在这里找到关于它的信息

http://www.adacore.com/adaanswers/gems/gem-119-gdb-scripting-part-1/

What are the best ways to automate a GDB debugging session?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17005293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档