M1 mac Sublime Text使用Debugger和Terminus进行C++程序的调试

这篇博客介绍了如何在Mac M1设备上使用Sublime Text进行C++程序的调试。首先,通过Package Control安装Debugger和Terminus插件。接着,配置Debugger的设置文件,包括编译任务和调试配置,特别是针对M1芯片无法使用gdb的情况。最后,展示了调试运行的效果,并推荐使用Terminus作为外部终端进行输入,以便于调试过程中交互。
摘要由CSDN通过智能技术生成

可能是因为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.jsonlaunch.json 的配置类似。

先随便打开一个文件夹,创建一个cpp文件
在这里插入图片描述

工具栏中选择Debuggeropen
在这里插入图片描述

会出现如下信息
在这里插入图片描述
选择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加一个断点,不然调试结束后会进入汇编页面

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值