以下命令可能会对您的程序进行修改:
assign 命令将 expression 的值赋给 variable。在 dbx 中使用它会永久更改 variable 的值。
assign variable = expression
弹出当前帧。
弹出 number 个帧。
弹出帧,直至帧号达到指定帧 number。
任何弹出的调用在恢复后将重新执行,这可能导致不必要的程序更改。pop 还为所弹出函数的本地对象调用析构函数。
有关更多信息,请参见pop 命令。
在 dbx 中使用 call 命令时,会调用一个过程,而且该过程将按指定方式执行:
call proc([params])
该过程可能会修改程序中的某些内容。dbx 执行该调用的方式好像您已将其写入程序源代码中一样。
有关更多信息,请参见call 命令。
print expression, ...
如果表达式含有函数调用,则应遵循与使用 call 命令 命令时相同的注意事项。对于 C++,还应注意由重载运算符导致的意外的副作用。
有关更多信息,请参见print 命令。
when event-specification [modifier] {command; ... }
事件发生时,会执行 command。
到达某行或过程时,便会执行命令。程序的状态是否会更改取决于发出的命令。
有关更多信息,请参见when 命令。
fix
尽管 fix 命令是一个非常有用的工具,但它会重新编译修改过的源文件,并将修改过的函数动态链接到应用程序中。
确保查看修复并继续的限制。请参见内存泄漏 (mel) 错误。
有关更多信息,请参见fix 命令。
cont at 命令更改运行程序的顺序。如果程序是多线程程序,则要求在 line.id 行继续执行。
cont at line [ id ]
这可能会更改程序的结果。