当前位置:   article > 正文

启动GDB和关闭GDB_vc++ 关闭远程gdb

vc++ 关闭远程gdb

输入'gdb'来开始,输入'quit'或者快捷键Ctrl-d来结束

目录

gdb的调试

退出GDB

Shell命令

记录输出


gdb的调试

通过运行gdb程序来运行gdb,一旦开始了gdb就从终端读取命令,直到你告诉它离开为止

还可以使用各种参数和选项运行 gdb,以便在一开始就指定更多的调试环境

在这里提到命令行选项是因为涉及到很多情况,在有些情况下,某命令可能会很高效,但是有时候

不能使用。

启动gdb最常用的一个方法就是使用一个参数,指定一个可执行程序 :

gdb program

你也能够以一个可执行程序和一个指定的core文件 :

gdb program core 

同样的,如果你想要调试运行中的进程,指定进程的ID作为第二参数或者使用命令-p:

gdb program 1234

gdb -p 1234 

然后gdb就会附加到进程1234,用-p命令能够忽略程序的文件名

利用第二命令行参数需要一个十分完整的操作系统。当你使用gdb作为一个连接了裸板(bare board)的远程调试器,这时没有进程之说,并且经常没有办法得到核心转存(core dump)。如果无法依附或者读取核心转存gdb将会警告你。

你可以选择让 gdb 在可执行文件之后使用 --args 将任何参数传递给下级 :

gdb --args gcc -02 -c foo.c

这会使得gdb去调试gcc,并且将gcc的命令行参数设置为'-02 -c foo.c'. 

通过指定 --silent (或 -q/--quiet),可以运行 gdb 而不打印 GDB 的前端材料 

gdb --silent

你也能够通过使用命令行选项来更进一步的控制gdb的启动方式,GDB可以提醒你可用的选项。

gdb -help   (缩写为'gdb -h')

展示了所有可用的命令和简洁的它们的用途描述。提供的所有选项和命令行参数都按顺序处理,使用'-x'选项时顺序会有所不同

退出GDB

quit[expression](缩写为q

要退出 GDB,使用quit命令(缩写为 q),或键入文件结束符(通常是 Ctrl-d)。 如果没有提供表达式,GDB 将正常终止; 否则它将使用expression的结果作为错误代码终止。

中断(通常是 Ctrl-c)不会从 GDB 退出,而是终止任何正在进行的 GDB 命令的操作并返回到 GDB 命令级别。 任何时候输入中断字符都是安全的,因为 GDB 不允许它在安全的时候生效。

如果你一直在使用 GDB 来控制一个附加的进程或设备,你可以使用 detach 命令释放它

Shell命令

如果你需要在调试期间偶尔执行 shell 命令,则无需离开或挂起 GDB; 你可以使用shell命令

shell command-string

!command-string  

调用标准 shell 来执行命令字符串(注意!和命令字符串之间没有空格),在 GNU 和 Unix 系统上,环境变量 SHELL(如果存在)决定运行哪个 shell,否则GDB将使用默认shell(/bin/sh on GNU and Unix systems, cmd.exe on MS-Windows, COMMAND.COM on MS-DOS, etc.) 

 在开发环境中经常需要实用程序 make。 因此不必在 GDB 中为此使用 shell 命令。

make make-args

执行带有指定参数的make程序,也可以等价于('shell make make-args')

pipe[command]|shell_command

|[command]|shell_command

pipe -d delim command delim shell_command

| -d delim command delim shell_command 

执行command并且将它的结果发送到shell_command(注意|周围都没有空格)

如果没有command被提供,那么最近执行的command将会被重复。

一方命令包含 |,选项 -d delim 可用于指定备用分隔符字符串 delim,将command与 shell_command 分开。

 conbenience variables $_shell_exitcode $_shell_exitsignal 可用于检查由 shell、make、pipe 和 | 启动的最后一个 shell 命令的退出状态。

记录输出

 你可能想把gdb的输出存到一个文件,下面是几个命令可以使得gdb来保存

set logging on  能够记录

set logging off  不能记录

set logging file file  改变当前记录文件的名字,默认记录文件为gdb.txt

set logging overwrite [on|off]  默认情况下,gdb会附加记录文件。如果你想改写记录文件

set logging redirect [on|off] 默认情况下,gdb输出既会去到终端又会到记录文件,如果你想要输出只到记录文件的话使用这个

set logging debugredirecct [on|off]     默认情况下,gdb调试输出既会去到终端又会到记录文件,如果你想要调试输出只到记录文件的话使用这个

show logging  显示记录设置的当前值

你也能够重定向一个gdb命令到shell命令 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/288038
推荐阅读
相关标签
  

闽ICP备14008679号