2021-12-3 一些VScode的补充以及遇到的问题
一些VScode的补充以及遇到的问题
目录
1.c_cpp_properties.json代码参考
c_cpp_properties.json是主要用来设置包含头文件的路径设置,C/C++的版号等等,我的代码附上,一般情况下用默认生成的就行了,路径改一下即可
{
"configurations": [
{
"name": "Linux", //环境名
"includePath": [
"${workspaceFolder}/**" //指定头文件路径,这里指定的是当前工作目录,如有需要在后面添加,添加方式是加入 "/to/path" 格式的路径
],
"defines": [],
"compilerPath": "C:\\ljy\\MingGW\\mingw64\\bin\\g++.exe", //编译器的路径,可根据自己的安装情况进行设置
"cStandard": "c11",
"cppStandard": "c++17", //设置使用的 C/C++ 标准
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
2.关于无法调试的问题
这边提示了Module containing this breakpoint has not yet loaded or the breakpoint address could not be obtained的提示(包含此断点的模块尚未装入或无法获得断点地址)
后来发现问题是我之前为了不让命令行停止,就干脆直接用命令行配置参数了,而launch.json文件中的’program‘调试的路径是命令行的路径,所以他无法调试
问题的解决办法就是把program参数改成对应文件就可以了,随后设置断点,按f5完美调试运行~~
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) 调试C",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}\\.exe\\${fileBasenameNoExtension}.exe", //可执行文件的完整路径,文件名与 build.json 中生成的可执行文件名保持一致
"args": [],
"stopAtEntry": false, //是否在 main 函数处暂定执行
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false, //在打开外部终端执行程序,而不是在 VSCode 的控制台中运行
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe 生成活动文件" // 调试前执行的任务,一般为编译程序。与tasks.json的label相对应
}
]
}
3.使用命令行时运行完闪退的问题
第一种方法:System函数
system("pause");
在程序结尾时添加这句话就可以解决问题了。注意在return前面写即可让程序暂停下来,对于此函数讲解参考这位大佬博客的地址
第二种方法:设置断点
在程序末尾加这个也可以让程序在某一个断点处停下来,文件没有跑完,就不会闪退了。
第三种方法:用自带的Vscode环境运行
这个要因人而异,修改方法很简单,在launch.json配置文件中的
"externalConsole": true,
修改成这样即可
"externalConsole": false,