可能是因为M1无法使用gdb的原因,所以没法使用SublimeGdb进行C++的调试(压根就找不到这个插件…😓)
1 安装插件
1.1 安装Debugger插件
随便在一个界面按下command+shift+p
,搜索package
选择Package control: Install Package
,第一次使用可能需要等待一点时间
加载完毕后会有一个搜索栏
在里面搜索Debugger
选择第一个,点击回车安装
下面有它的GitHub网址
https://github.com/daveleroy/sublime_debugger
1.2 安装Terminus插件
前面略过
……
搜索Terminus
点击或者回车安装
下面是它的官方网址
https://github.com/daveleroy/sublime_debugger
2 配置文件
Terminus不需要进行什么配置,如果自己有需求,可以参考它的网址
https://github.com/daveleroy/sublime_debugger
2.1 配置Debugger
Debugger的配置和vs code中task.json
和launch.json
的配置类似。
先随便打开一个文件夹,创建一个cpp文件
在工具
栏中选择Debugger
,open
会出现如下信息
选择Save Projiect As...
,然后将其保存在你的工作目录下,随便起个名字
比如我这里就放在一个叫temp的目录下
点击save
保存
回到源文件,在一次工具
-> Debugger
-> Open
.
出现如下画面,点击三角形
右上角出现命令框
选择Add Configuration
,再选择lldb
会进行Adapter的安装(也可以在Debugger里面选择进行Install Adapters
接下来重复上述操作
点击三角形-> 右上角Add Configuration
->lldb
会出现新的东西,选择CodeLLdb:Launch
接下来你会发现你的配置文件里已经有了一些东西,如果自己会配置文件,可以直接进行配置,如果不会可以参考插件作者的文档
https://github.com/daveleroy/sublime_debugger/tree/master/examples/cpp
以下是插件作者的参考文档
{
"folders": [
{
"path": ".",
},
],
"debugger_tasks": [
{
"name": "Compile",
"working_dir": "${project_path}",
"shell_cmd": "clang++ -std=c++14 -g main.cpp -o test",
"file_regex": "(..[^:]*):([0-9]+):([0-9]+)?:? error: (.*)",
},
],
"debugger_configurations": [
{
"name": "C++ (Console)",
"type": "lldb",
"request": "launch",
"pre_debug_task": "Compile",
"program": "${project_path}/test",
"cwd": "${project_path}",
"terminal": "console",
},
{
"name": "C++ (Integrated Terminal)",
"type": "lldb",
"request": "launch",
"pre_debug_task": "Compile",
"program": "${project_path}/test",
"cwd": "${project_path}",
"terminal": "integrated",
},
{
"name": "C++ (External Terminal)",
"type": "lldb",
"request": "launch",
"pre_debug_task": "Compile",
"program": "${project_path}/test",
"cwd": "${project_path}",
"terminal": "external",
},
{
"name": "C++ (Attach)",
"type": "lldb",
"request": "attach",
"pid": "${command_pick_process}" // sublime text 4 only
},
],
}
因为要使用Terminus作为终端
所以terminal
选择"external"
以下是根据官方example修改的配置文件
{
"folders": [
{
"path": "/Users/lijinliang/Desktop/temp"//文档目录,需要自己修改
},
],
"debugger_tasks": [
{
"name": "Compile",
"working_dir": "${file_path}",
"shell_cmd": "clang++ -std=c++11 -g '${file}' -o '${file_path}/${file_base_name}'",
"file_regex": "(..[^:]*):([0-9]+):([0-9]+)?:? error: (.*)",
},
],
"debugger_configurations": [
{
"name": "C++ (External Terminal)",
"type": "lldb",
"request": "launch",
"pre_debug_task": "Compile",
"program": "${file_path}/${file_base_name}",
"cwd": "${project_path}",
"terminal": "external",
},
],
}
3 运行效果
点击三角形
右上角选择自己配置好的文件
效果
开启Debugger时,点击行左侧,添加断点,左下角单步执行
在Terminus中可以进行输入
因为在Sublime Text自己的终端中无法输入,编译运行需要重新配置编译文件调用系统的终端进行输入,使用Debugger+Terminus可以在右侧的终端中输入,比较方便。
建议调试的时候在return 0
加一个断点,不然调试结束后会进入汇编页面