Scripting gdb命令文件错误“;无效的类型组合“;在while循环中
我在gdb命令文件中编写了以下命令Scripting gdb命令文件错误“;无效的类型组合“;在while循环中,scripting,while-loop,gdb,Scripting,While Loop,Gdb,我在gdb命令文件中编写了以下命令 while ($i < 3) s end 但是我得到了一个错误:无效的强制转换。 如何在gdb命令文件中写入循环 注意:i是正在调试的C程序中的变量,在命令文件中称为$i while ($i < 3) s end 我找不到任何例子,这些例子提供了一些关于gdb的参考资料。首先,我认为使用它更合适 watch i >= 3 为了在我超过2岁的时候休息 至于循环,直到C中的局部变量小于3。这是它的gdb脚本: while (i <
while ($i < 3)
s
end
但是我得到了一个错误:无效的强制转换。
如何在gdb命令文件中写入循环
注意:i
是正在调试的C程序中的变量,在命令文件中称为$i
while ($i < 3)
s
end
我找不到任何例子,这些例子提供了一些关于gdb的参考资料。首先,我认为使用它更合适
watch i >= 3
为了在我超过2岁的时候休息
至于循环,直到C中的局部变量小于3。这是它的gdb脚本:
while (i < 3)
s
end
while(i<3)
s
结束
<>这在C++代码中演示了GDB循环:
#include <stdio.h>
int main()
{
for (int i=0; i< 10; ++i) {
printf ("i: %d\n", i);
}
return 0;
}
#包括
int main()
{
对于(int i=0;i<10;++i){
printf(“i:%d\n”,i);
}
返回0;
}
这是一个gdb测试:
D:\>gdb -q a
Reading symbols from D:\a.exe...done.
(gdb) start
Temporary breakpoint 1 at 0x401395: file main.cpp, line 4.
Starting program: D:\a.exe
[New Thread 3780.0x144]
Temporary breakpoint 1, main () at main.cpp:4
4 {
(gdb) n
5 for (int i=0; i< 10; ++i) {
(gdb)
6 printf ("i: %d\n", i);
(gdb) while (i<3)
>s
>end
i: 0
5 for (int i=0; i< 10; ++i) {
6 printf ("i: %d\n", i);
i: 1
5 for (int i=0; i< 10; ++i) {
6 printf ("i: %d\n", i);
i: 2
5 for (int i=0; i< 10; ++i) {
6 printf ("i: %d\n", i);
(gdb) p i
$1 = 3
(gdb)
D:\>gdb-qa
从D:\a.exe读取符号…完成。
(gdb)启动
0x401395处的临时断点1:文件main.cpp,第4行。
正在启动程序:D:\a.exe
[新线程3780.0x144]
main.cpp处的临时断点1,main():4
4 {
(gdb)n
5表示(int i=0;i<10;++i){
(gdb)
6 printf(“i:%d\n”,i);
(gdb)while(is)
>结束
i:0
5表示(int i=0;i<10;++i){
6 printf(“i:%d\n”,i);
i:1
5表示(int i=0;i<10;++i){
6 printf(“i:%d\n”,i);
i:2
5表示(int i=0;i<10;++i){
6 printf(“i:%d\n”,i);
(gdb)p i
$1 = 3
(gdb)