我正在尝试编写一些与调试器通信的vimscript,但我不完全确定如何去做。有没有办法可以将输入发送到调试器并以编程方式读取其输出?
我知道这是可能的,因为 Code::Blocks、Eclipse 和其他 IDE 以某种方式做到了这一点。我只是想知道如何做到这一点。
我只是想知道如何做到这一点。
GDB 有“机器接口”就是为了这个。详情在这里。
Git 2.18 展示了一种有趣的方式来包装调试器、gdb 或其他工具并与之通信。
请参阅Elijah Newren ( ) 的提交 8424364(2018 年 4 月 24 日)。(由Junio C Hamano 合并 -- --在89753dc 提交中,2018 年 5 月 23 日)newren
gitster
使
git
在其他类似调试器的程序下运行变得容易这允许我们
git
在使用脚本时bin-wrappers
在其他程序下运行。
在测试套件脚本中使用的几个示例:debug git checkout master debug --debugger=nemiver git $ARGS debug -d "valgrind --tool-memcheck --track-origins=yes" git $ARGS
或者,如果有人
bin-wrappers/
在他们的$PATH
并且正在git
测试套件之外执行:GIT_DEBUGGER="gdb --args" git $ARGS GIT_DEBUGGER=nemiver git $ARGS GIT_DEBUGGER="valgrind --tool=memcheck --track-origins=yes" git $ARGS
还有一个方便的快捷方式,
GIT_DEBUGGER=1
含义相同GIT_DEBUGGER="gdb --args"
在 中查看结果t/test-lib-functions.sh
。
关于这一点GIT_DEBUGGER
,Git 2.23 记录了它。
请参阅Emily Shaffer ( ) 的提交 f547101(2019 年 5 月 28 日)。(由Junio C Hamano 合并 -- --在7df94cd 提交中,2019 年 6 月 17 日)nasamuffin
gitster
doc
GIT_DEBUGGER
:提示CodingGuidelines
GIT_DEBUGGER
我们在 via 运行时 检查一个方便的环境变量bin-wrappers/
,但是这个特性没有记录。将如何使用它的提示添加到
CodingGuidelines
(记录其他有用的环境设置的地方DEVELOPER
)。
所以Documentation/CodingGuidelines
现在包括:
您可以
gdb
使用速记围绕您的程序启动GIT_DEBUGGER
。
- 运行
GIT_DEBUGGER=1 ./bin-wrappers/git foo
以简单地gdb
按原样使用,或- 运行
GIT_DEBUGGER="<debugger> <debugger-args>" ./bin-wrappers/git foo
以使用您自己的调试器和参数。
示例:(GIT_DEBUGGER="ddd --gdb" ./bin-wrappers/git log
请参阅wrap-for-bin.sh
。)