当前位置:  开发笔记 > 开发工具 > 正文

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

如何解决《如何加载程序读取stdin并在gdb中获取参数?》经验,为你挑选了3个好方法。

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

% gdb myprogram
gdb> run params ... < input.txt

这似乎也适用于emacs.



1> Alnitak..:

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

% gdb myprogram
gdb> run params ... < input.txt

这似乎也适用于emacs.


一个迟来的谢谢你 - gdb手册是一个痛苦的屁股疏通.

2> maxschlepzig..:

有几种方法可以做到:

$ gdb myprogram
(gdb) r -path /home/user/work < input.txt

要么

$ gdb myprogram
(gdb) set args -path /home/user/work < input.txt
(gdb) r

要么

$ gdb -ex 'set args -path /home/user/work < input.txt' myprogram
(gdb) r

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


当我在cygwin中使用gdb尝试此操作时,它不起作用."show args"命令显示我输入了我想要的args,但是当我用"r"启动程序时,程序会一直等到输入内容而不是从指定文件中读取.

3> vinc456..:

为了完整起见,启动调试会话时还有--args选项.即)

gdb gdbarg1 gdbarg2 --args yourprog arg1 arg2 -x arg3


在开始像这样的调试会话时,你如何将input.txt重定向为你的程序员的输入?
推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有