gpt4 book ai didi

c++ - 是否可以在 cdb/windbg 中进行语法高亮显示?

转载 作者:行者123 更新时间:2023-11-28 04:04:14 25 4
gpt4 key购买 nike

我正在 Windows 上试验命令行调试器,我想知道是否有办法在 cdb 或 windbg 控制台中突出显示语法?

最佳答案

因为你标记了 windbg 并且标题中有 windbg 这个答案仅适用于 windbg

我假设您知道 windbg 是图形用户界面而 cdb 是控制台应用程序

windbg src 窗口支持语法高亮并提供了一些选项改变颜色,你可以并排停靠

除非你是魔术师,否则cdb不支持颜色

可以运行彩色cdb的魔术师魔法配方

(提到您可以创建一个 tools.ini 文件
创建两个条目 col_mode: TRUE , col: srcchar R--
但需要注意的是,这仅适用于真正的控制台
不知道cmd.exe是真控制台还是假控制台
除了带有 dml 的 .printf/D 之外,我永远无法让它以彩色输出)

关于将 tools.ini 放在哪里的评论可以将 tools.ini 放在任何需要的地方,只需确保环境变量 INIT 指向放置它的目录

在下面的示例中,我在 debugee 目录或当前工作目录中有 tools.ini,用 .\和 .\tools.ini 表示我将 ENV VAR init 设置为 .\即当前目录

这里是 windbg srcwindow 的截图,语法高亮 src

接着是彩色的 cmd.exe dml .printf 输出

enter image description here

如您所见,.symopt+10 已从 tools.ini 中启用

所以cdb已经解析并理解了颜色的整体

但是单步没有得到颜色

:\>set INIT
Environment variable INIT not defined

:\>cdb -c ".symopt;q" classmagic.exe | awk "/Reading/,/quit/"
0:000> cdb: Reading initial command '.symopt;q'
Symbol options are 0xB0327: <<<<<<<<<<<<<<<<<<<<
0x00000001 - SYMOPT_CASE_INSENSITIVE
0x00000002 - SYMOPT_UNDNAME
0x00000004 - SYMOPT_DEFERRED_LOADS
0x00000020 - SYMOPT_OMAP_FIND_NEAREST
xxxxxxxxxxxxx
quit:

:\>set INIT=.\

:\>cat .\tools.ini
[CDB]
col_mode: TRUE
col srcchar R--
lines: TRUE <<<<<<<<<<<<<<<<<<

:\>cdb -c ".symopt;q" classmagic.exe | awk "/Reading/,/quit/"

0:000> cdb: Reading initial command '.symopt;q'
Symbol options are 0xB0337: <<<<<<<<<<<<<<
0x00000001 - SYMOPT_CASE_INSENSITIVE
0x00000002 - SYMOPT_UNDNAME
0x00000004 - SYMOPT_DEFERRED_LOADS
0x00000010 - SYMOPT_LOAD_LINES <<<<<<<<<<<<<<<<
0x00000020 - SYMOPT_OMAP_FIND_NEAREST
xxxxxxxxxxxxxxxxxxxxxx
quit:

:\>

enter image description here

关于c++ - 是否可以在 cdb/windbg 中进行语法高亮显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59022328/

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