gpt4 book ai didi

debugging - Windbg 控制台日志记录

转载 作者:行者123 更新时间:2023-12-02 22:21:33 25 4
gpt4 key购买 nike

是否可以有条件或无条件地在 Windbg 控制台中记录某些内容。我可以更改我的源代码并执行此操作,但由于各种原因,这很乏味,包括 checkout cerain 文件、编辑代码、构建和部署。这是非常乏味且没有生产力的。我正在寻找某些东西,例如条件断点。

bp module!Class::funcname+0x0ff5E1 ".if(cond) {exp1;exp2 } .else {gc}" 

根据 cond 登录到 Windbg 控制台(也许 cond=1 始终)。我已经使用 ?? 命令在调试时打印值,但是是否可以自动化,因为我需要很多值,并且一一执行需要花费时间,而且也没有格式化!我正在寻找类似于上述条件断点或任何其他方式的东西。任何教程/示例肯定会有帮助。

编辑:好吧,我想出的一种方法可能是

bp module!Class::Func+0x0FF5E1 ".if(cond) {.echo The value of variable ALPHA is; ?? ALPHA;gc} .else {.echo SomeOtherTextIfNeeded; gc;}:"

这可能很长,但很好,因为我们也必须在代码中添加等效的行才能在日志中显示这些日志消息;这里我们不改变代码。我肯定还会有其他方式在这里看到:)

另一种可能是使用格式化输出;最重要的是,如果它的格式和变量名称可以从文件中读取,那就太好了!!

最佳答案

您可以通过编程方式打开和关闭日志文件,重用同一日志

bp module!Class::funcname+0x0ff5E1 ".if(cond) {.logappend c:\mylog.txt;exp2;.logclose;gc; } .else {gc}" 

关于debugging - Windbg 控制台日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13398161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com