栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

可能是因为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加一个断点,不然调试结束后会进入汇编页面

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/989598.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号