sublimecss调试,SublimeText配置GDB调试环境
作为当下⼀款⾮常流⾏的⽂本编辑器,Sublime Text 界⾯简洁、功能强⼤(提供有众多的插件)、还⽀持跨平台使⽤(包括 Mac OS X、Linux 和 Windows)。更值得⼀提的是在程序员眼中,Sublime Text 不仅仅是⼀个⽂本编辑器,更是⼀款好⽤的代码编辑器。
《Sublime Text运⾏C和C++程序》⼀节中,给⼤家详细介绍了怎样使 Sublime Text 具备编译、运⾏ C、C++ 程序的能⼒。在此基础上,本节给⼤家讲解:如何为 Sublime Text 配备 GDB 调试环境,从⽽可以直接调试在 Sublime Text 中编写的程序?
为 Sublime Text 配备 GDB 调试环境,其本质是令 Sublime Text 具备调⽤ GDB 调试器的能⼒。也就是说,当我们需要调试在 Sublime Text 中编写的代码时,⽆需⼿动打开 GDB 调试器,Sublime Text 可以⾃⾏调⽤ GDB 调试器,并以当前⽂件作为调试对象打开 GDB,等待我们输⼊ GDB 调试指令。
注意,要想为 Sublime Text 配备 GDB 调试环境,则必须确认当前系统环境中已经安装好了 GDB 调试器。以 Windows 平台为例,打开命令⾏窗⼝并执⾏ gdb -v 命令,如果打印出 GDB 调试器的相关信息(如图 1 所⽰),则表明当前系统中已经安装好了 GDB。
图 1 Windows平台成功安装了 GDB 调试器
如果当前系统环境未安装 GDB,Windows 平台的读者可阅读《Windows平台安装GDB调试器》⼀节;Linux 平台的读者可阅读《GDB下载和安装教程》⼀节。
Windows平台配置Sublime Text
在已安装好 Sublime Text 编辑器的基础上,为其配置 GDB 调试环境的过程如下(以调试 C 语⾔程序为例):
1) 在 Sublime Text 的菜单栏中依次选择Tools -> Build System -> New Build System,此时会⽣成如图 2 所⽰的临时⽂件:
图 2 Sublime Text配置⽂件
2) 将图 2 所⽰⽂件中的内容全部删除,然后将以下内容拷贝到⽂件中:
{
"cmd": ["gcc","-g","${file}","-o", "${file_path}/${file_base_name}"],
"file_regex":"^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir":"${file_path}",
"selector": "source.c",
"variants":
[
{
"name": "GDB_C",
"cmd": ["cmd", "/c", "gcc","-g", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "start", "cmd", "/c", "gdb",
"${file_path}/${file_base_name}"]
}
sublime text3安装教程]
}
如果读者想调试 C++ 程序,可直接将其中的 gcc 全部改成 g++ 即可。当然,这样配置的 Sublime Text 仅能调试普通的 C、C++ 程序,那些引⼊⾮标准库或者第三⽅库的程序,需要在 2 个 "cmd" ⾏中的 gcc 或者 g++ 命令中注明要使⽤的系统库。
拷贝完成后,按 Ctrl+S 组合键保存此⽂件,对于调试 C 语⾔程序的配置⽂件,我将其重命名为 gdb_c.sublime-build。
由此,Sublime Text 就具备了调⽤ GDB 调试 C、C++ 程序的能⼒。以调试简单的 C 语⾔程序为例:
#include
int main ()
{
char * url="c.biancheng/gdb/";
printf("%s",url);
return 0;
}
读者可以将此⽰例程序拷贝到 Sublime Text 中,并为其命名以 .c 为后缀名的⽂件。在此基础上,在菜单栏中选择 Tools -> Build
System -> gdb_c(即以我们⾃定义的⽅式编译指定⽂件),然后选择 Tools -> Build System,此时 Sublime Text 会弹出如下图所⽰的选项框:
图 3 选择具体的调试选项
可以看到,正如 gdb_c.sublime-build ⽂件配置的那样,这⾥显⽰了 2 个调试选项,第⼀个⽤于仅⽣成可供 GDB 调试的可执⾏⽂件,第⼆个选项不仅会⽣成可调式的执⾏⽂件,还会⾃动调⽤ GDB 并启动调试。例如,我们选择第⼆个选项,此时会进⼊ GDB 调试环境:
图 4 Sublime Text ⾃⾏启动 GDB 调试环境
感兴趣的读者,可尝试使⽤第⼀个选项,其会在该程序⽂件同⽬录的位置,⽣成可供 GDB 调试的可执⾏⽂件。
Linux平台配置Sublime Text
Linux 平台配置 Sublime Text 的过程,和 Windows 平台配置 Sublime Text 的过程完全⼀致。唯⼀不同的⼀点在于,gdb-c.sublime-build 配置⽂件中的内容有所差异。
以 Ubuntu 为例,其配置⽂件中的内容如下所⽰:
{
"shell_cmd": "gcc -g \"$file_name\" -o \"$file_base_name\"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"selector": "source.c",
"working_dir": "$file_path",
"variants":
[
{
"name": "gdb_c",
"shell_cmd": "gcc -g \"$file_name\" -o \"$file_base_name\";gnome-terminal -x gdb \"$file_base_name\""
}
]
}
注意,不同的 Linux 发⾏版,调⽤命令⾏窗⼝的⽅式不同。以 Ubuntu 为例,使⽤ gnome-terminal -x 命令启动命令⾏窗⼝。
其它操作和在 Windows 平台上配置 Sublime_text 完全相同,这⾥不再重复赘述。
Mac OS X配置Sublime Text
Mac OS X 平台配置 Sublime Text 的过程,也和 Windows 平台配置 Sublime Text 的过程完全⼀致,但需要修改 gdb-c.sublime-build 配置⽂件中的内容:
{
"shell_cmd":"gcc -g \"$file_name\" -o \"$file_base_name\"",
"selector":"source.c",
"working_dir":"$file_path",
"variants":
[{
"name":"gdb_c",
"shell_cmd":"gcc -g \"$file_name\" -o \"$file_base_name\";open -a terminal.app /usr/local/bin/gdb"
}]
}
读者需根据实际情况,调整 gdb 的存储位置(本机存储为 /usr/local/bin/gdb)。
注意,根据此配置⽂件,当我们选⽤ gdb_c 选项调试程序时,其只能⾃⾏打开 Terminal 命令⾏窗⼝并启动 GDB 调试器,但⽆法⽴即调试⽬标程序,还需⼿动在 GDB 中借助 file 命令指定要调试的⽬标程序,例如:
(gdb) file /tmp/
Reading symbols from /tmp/
(gdb)
再次强调,启动 GDB 并不意味着可以⽴即调试程序,⾄于为什么,读者可阅读《gdb run(r)命令》⼀节做详细了解。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论