我有一个程序从stdin获取输入,并从命令行获取一些参数 . 它看起来像这样: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 gdb之外还要做什么 .
4 回答
如果你是从shell做的,你会这样做:
这似乎也适用于emacs .
如果您不需要从一开始就进行调试,您还可以使用以下命令附加到已在运行的进程:
其中xxx是进程ID . 然后你不需要告诉gdb起始参数 .
为了完整起见,启动调试会话时还有--args选项 . 即)
有几种方法可以做到:
要么
要么
其中gdb
run
命令(r
)默认使用先前使用set args
设置的参数 .