首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在gdb中加载读取stdin和获取参数的程序?

如何在gdb中加载读取stdin和获取参数的程序?
EN

Stack Overflow用户
提问于 2009-01-18 17:36:20
回答 5查看 79.4K关注 0票数 111

我有一个程序,它从

中获取输入,也从命令行中获取一些参数。它看起来是这样的:

cat input.txt > myprogram -path "/home/user/work“

我尝试在emacs中使用gdb调试代码,通过M-x gdb,我尝试使用以下命令加载程序:

gdb cat input.txt > myprogram -path "/home/user/work“

然而,gdb并不喜欢它。

问题抄袭自here。不幸的是,我不了解解决方案,除了使用-g选项编译和运行命令M-x之外,我不确定还能做什么。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-01-18 17:53:37

如果你是从一个shell中做的,你会这样做:

代码语言:javascript
复制
% gdb myprogram
gdb> run params ... < input.txt

这似乎也适用于emacs。

票数 145
EN

Stack Overflow用户

发布于 2011-09-19 23:39:04

有几种方法可以做到这一点:

代码语言:javascript
复制
$ gdb myprogram
(gdb) r -path /home/user/work < input.txt

代码语言:javascript
复制
$ gdb myprogram
(gdb) set args -path /home/user/work < input.txt
(gdb) r

代码语言:javascript
复制
$ gdb -ex 'set args -path /home/user/work < input.txt' myprogram
(gdb) r

其中,gdb run命令(r)默认使用先前使用set args设置的参数。

票数 33
EN

Stack Overflow用户

发布于 2009-01-20 03:05:07

出于完整性的考虑,在启动调试会话时,还有--args选项。即)

代码语言:javascript
复制
gdb gdbarg1 gdbarg2 --args yourprog arg1 arg2 -x arg3
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/455544

复制
相关文章

相似问题

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