Debugging Tools for Windows

g (Go)

g 命令开始指定进程或线程的执行。这种执行将会在程序结束、遇到BreakAddress 或者其他造成调试器停止的事件发生时停止。

语法

用户模式语法

[~Threadg[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 

内核模式语法

g[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 



参数

Thread
(仅用户模式) 指定要执行的线程。语法的详细信息,查看线程语法
a
使得任何用该命令创建的断点成为处理器断点(就像用ba创建的一样) ,而不是软断点(像用bpbm创建的一样)。如果没有指定BreakAddress,则不会创建断点并且a标志无效。
StartAddress
指定要开始执行的地址。如果没有指定,调试器将执行传递给指令计数器的当前值所指向的地址。语法的详细信息,查看地址和地址范围语法
BreakAddress
指定断点的地址。如果设置了BreakAddres,它必须是一个指令地址(即该地址必须是某条指令第一个字节的地址)。一次可以以任意顺序设置最多10个断点地址。如果BreakAddress 还未能确定,它将被作为未定断点保存起来。语法的详细信息,查看地址和地址范围语法
BreakCommands
指定当遇到BreakAddress 设置的断点时要自动执行的命令。BreakCommands 参数必须以一个分号开头。如果指定了多个BreakAddress值,BreakCommands 会应用到每一个上。

注意 BreakCommands 参数仅在包含在其他命令的命令字符串中时可用 — 例如,在另一个断点命令或异常或事件的设置中。在一个命令行上,分号会结束g命令,并且在分号后列出的任何其他命令会在g命令完成后立即执行。

环境

模式 用户模式、内核模式
目标 仅活动调试
平台 所有

注释

如果指定了Thread,则g命令使得指定线程非冻结,而冻结所有其他线程。例如,如果指定~123g~#g或~*g命令,指定的线程不被冻结,而其他所有线程都会被冻结。

附加信息

关于其他执行该命令的方法和相关命令的概述,查看控制调试目标

Build machine: CAPEBUILD