相关疑难解决方法(0)

gdb - 使用管道输入(不是参数)进行调试

我通常运行我的程序:

perl -e 'print "A"x200' | ./vuln_prog
Run Code Online (Sandbox Code Playgroud)

stdin由gets()C++中的函数使用.

如果这只是一个命令参数,我可以通过执行以下操作打开gdb:

gdb ./vuln_prog
run $(perl -e 'print "A"x200')
Run Code Online (Sandbox Code Playgroud)

但是,我的场景不是命令参数,而是输入(STDIN?).我如何在gdb中调试它?我尝试过很多选项,但似乎没什么用.

我通常只是在进程上运行gdb,当它提示用户输入时,输入它,但是我不想只键入"A".我想输入来自\ x00-\xff的所有字符,我无法输入.

gdb pipe

70
推荐指数
1
解决办法
4万
查看次数

如何使用gdb与输入重定向?

在终端,我有

    myapp < myfileinput
Run Code Online (Sandbox Code Playgroud)

但如果我想使用gdb,

    gdb myapp < myfileinput
Run Code Online (Sandbox Code Playgroud)

它运行不正常.

如何在这里使用gdb?

io gdb

51
推荐指数
2
解决办法
4万
查看次数

gdb - 用管道调试

说我有两个名为blahret的程序.我想调试通过I/O重定向从ret程序接收输入的blah程序.在以下情况下如何使用gdb 调试blah程序?

bash> ret | blah 
Run Code Online (Sandbox Code Playgroud)

c gdb

38
推荐指数
2
解决办法
2万
查看次数

如何使用GDB调试从stdin获取用户输入的程序?

我有一个程序,我正在尝试使用gdb进行调试.在程序内部,我有方法要求用户使用stdin输入输入.当我在gdb中时,如何输入此输入?这样我就可以追踪我的方法是如何工作的?

gdb

35
推荐指数
2
解决办法
2万
查看次数

在gdb(MinGW)中输入重定向

我正在尝试让gdb运行带有输入重定向到stdin的程序.例如,没有gdb我会运行这样的程序:

prog < input.txt
Run Code Online (Sandbox Code Playgroud)

现在在gdb中,通常的做法是run < input.txt.但是,它对我不起作用,当这样做时,没有任何东西被重定向到stdin.

我正在使用Windows与MinGW.可能是什么问题呢?

gdb mingw

20
推荐指数
2
解决办法
5254
查看次数

使用GDB模拟回声输入

所以我试图调试一个程序,要求用户通过终端输入一些文本:

$ echo 'here is the text' | ./program
Run Code Online (Sandbox Code Playgroud)

如何在GDB中模拟输入?

terminal stdin gdb stream

2
推荐指数
1
解决办法
1374
查看次数

标签 统计

gdb ×6

c ×1

io ×1

mingw ×1

pipe ×1

stdin ×1

stream ×1

terminal ×1