天天看点

VScode技巧总结

使用vscode就是要自己配置,需要把各种小功能一点点集成上来。

工具链:vscode+arm-none-eabi-gcc+jlink-gdbserver

调试插件:Cortex-Debug

(1)Debug监控变量16进制

调试控制台,为gdb输入命令

set output-radix 16
           

(2)Debug时显示反汇编代码

调试时如果要看汇编代码,ctrl+shift+p打开命令面板输入:

Cortex-debug: Show disassembly
           

为方便使用,已经为其设置快捷键alt+s。

(3)Debug时显示mem状态

方法1:调试时如果要看内存状态,ctrl+shift+p打开命令面板输入:

Cortex-debug: View Memory
           

然后输入开始地址与监控长度,这里开始地址可以用&var形式给出,直接就到达想看的变量位置。

为方便使用,已经为其设置快捷键alt+m。

方法2:使用jlink全家桶软件里面的jmem。

(4)Debug时修改内存值

无法使用鼠标点击交互式修改,通过gdb命令实现:

set {int}0x2000a0 = 4
           

(5)RTT优化

RTT代替串口printf,目前已经作为日常工具,但是调试过程结束时,cortex-debug会杀死jlink 后台,如果正在使用JLinkRTTViewer也会死掉,再次启动调试也就没printf输出了,还要重新启动JLinkRTTViewer,有些麻烦。

方法1:建立task启动JLinkGDBServerCL,停止调试也不会被杀死,原因是启动了两次jlink后台,停止调试杀掉的后台和RTT后台没关系。

优点是printf会打印在vscode的终端窗口,整体性好。

方法2:使用Kitty代替JLinkRTTViewer,telnet连接localhost:19021,注意要设置自动重连。

这样,jlink后台被杀死后,Kitty自动断开,重新启动调试,Kitty自动重连,优点是有独立窗口,感觉也不错。

VScode技巧总结
VScode技巧总结