如何从任何正在运行的进程中获取值?
有没有办法从正在运行的应用程序获取值及其更改?
Is there a way to get values and their changes from a running application?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有没有办法从正在运行的应用程序获取值及其更改?
Is there a way to get values and their changes from a running application?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
您可以使用 调试器(例如 GDB 或 Visual Studio 调试器。大多数像样的调试器都允许您设置观察点,以便在修改变量后停止执行,并且所有调试器都允许您设置 断点在特定的代码位置。
请记住,通常您必须使用特定标志来编译应用程序,以便进行实用的调试。您至少需要调试器的调试符号才能将内存地址与变量名称关联起来,并且您还需要将编译器优化保持在最低限度,因为它们可能会破坏可执行代码,使其无法识别原始源代码。
You can watch variables and memory change as the application executes using a debugger, such as GDB or the Visual Studio debugger. Most decent debuggers allow you to set watchpoints so that the execution stops once a variable is modified and all of them allow you to set breakpoints at specific code locations.
Keep in mind that usually you will have to compile your application with specific flags for debugging to be practical. You will need at least debugging symbols for your debugger to be able to associate memory addresses with variable names, and you will also need to keep compiler optimisations to a minimum, since they can mangle the executable code enough to make it unrecognisable with regards to the original source code.