gdb 不接受 Emacs 中的 stdin 重定向

发布于 2024-07-17 07:39:30 字数 677 浏览 5 评论 0原文

我正在尝试在 emacs 中使用 gdb 模式调试程序。 它是用 g++ 编译的,我使用的是 cygwin。 我的程序接受一个命令行参数,并且还接受来自标准输入的输入,我从文件重定向该输入,如下所示:

program.exe inputFile.dat <otherInput.dat

问题是,gdb 将字符串

"<otherInput.dat"

作为命令行参数发送,而不是重定向标准输入。 如何强制 gdb 重定向 stdin?

编辑:

在 gdb 中,我使用命令:

run inputFile.dat <otherInput.dat

当我在 emacs 之外使用 gdb 时,它也不起作用。

编辑#2:

dfa指出了一个类似的问题:如何加载读取 stdin 并在 gdb 中获取参数的程序?

不幸的是,该问题的公认答案对我不起作用...这可能是与 cygwin 相关的错误吗?

I'm trying to debug a program using gdb mode in emacs. It was compiled with g++, and I'm using cygwin. My program takes one command line argument, and also takes input from stdin, which I redirect from a file, like this:

program.exe inputFile.dat <otherInput.dat

The problem is, gdb is sending the string

"<otherInput.dat"

as a command line argument instead of redirecting stdin. How do I force gdb to redirect stdin?

EDIT:

Within gdb, I'm using the command:

run inputFile.dat <otherInput.dat

It doesn't work when I use gdb outside of emacs, either.

EDIT #2:

dfa pointed out a similar question: How to load program reading stdin and taking parameters in gdb?

Unfortunately, the accepted answer for that question isn't working for me... Could it be a cygwin-related bug?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

拥抱我好吗 2024-07-24 07:39:30

看来你必须使用 run 命令:

您可以使用 shell 重定向和 run > 来重定向程序的输入和/或输出。 命令。 例如,

运行>   输出文件 
  

http://sourceware.org/gdb/current/onlinedocs/gdb_5 .html#SEC24

It seems that you have to use the run command:

You can redirect your program's input and/or output using shell redirection with the run > command. For example,

run > outfile

http://sourceware.org/gdb/current/onlinedocs/gdb_5.html#SEC24

寂寞花火° 2024-07-24 07:39:30

如果您使用的是 bash,则可以通过执行 PROGRAM ARGS PROGRAM ARGS 立即将 gdb 连接到进程。 文件与 作业 -x gdb 程序 %1。 根据您使用的 shell,您可能会发现自己必须使用更具创意的方法(可能涉及将 ps -C 的输出重定向到 gdb 的命令行)。

If you are using bash, you can attach gdb to the process immediately by doing PROGRAM ARGS < FILE & jobs -x gdb PROGRAM %1. Depending on the shell you use, you may find yourself having to use more creative methods (probably involving output from ps -C being redirected into gdb's command line).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文