在 Visual Studio Code 中使用 Makefile 调试现有项目
Posted
技术标签:
【中文标题】在 Visual Studio Code 中使用 Makefile 调试现有项目【英文标题】:Debugging an existing project with Makefile in Visual Studio Code 【发布时间】:2021-04-11 14:58:14 【问题描述】:我正在尝试调试从 Github 下载的项目。通过命令行编译没有任何错误,我以这种方式执行了项目:
./final -i name -n 2
在终端中,一切正常。我打开了包含我的项目的文件夹,然后按照this tutorial 使用 Makefile 调试我的项目。这是我的launch.json的内容,但是当我点击调试时,我得到指定路径中的文件是invalid or missing
的错误。
"version": "0.2.0",
"configurations": [
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": " $workspaceFolder/final",
"args": ["-i name", "-n 2"],
"stopAtEntry": false,
"cwd": "$workspaceFolder",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
]
]
Makefile 的内容太大了,无法在此处发布,所以我只发布第一行表明-g
在那里。
Makefile 的第一行:
.SILENT:
.SUFFIXES: .cxx
.PHONY: library
CXXOBJECTS=final.o
LIBOBJECTS= bunch of .o
OBJECTS=$(CXXOBJECTS) $(LIBOBJECTS)
DEBUG=-g
OPT=-O3 -DNDEBUG -g
OPT_DEBUG=$(OPT)
CXX_COMPILE=g++ -fopenmp -Wall -Wextra -fPIC $(OPT_DEBUG) -I/Path -I/usr/include/hdf5/serial $(EXTRAFLAGS)
CXX_LINK=g++ -fPIC $(EXTRAFLAGS) $(OPT_DEBUG)
THISDIR=/path
【问题讨论】:
为什么您认为从 Visual Code 运行调试器与您的 makefile 有任何关系? Makefiles 用于编译项目。似乎这是正确完成的并且生成的二进制文件运行。所以我会说makefile很好。如果您更具体地了解错误可能会有所帮助:您说 指定路径中的文件无效或丢失;哪个文件在哪个路径?确切的错误信息是什么(请剪切并粘贴)? 无法开始调试。程序路径/home/user-name/Project/final
丢失或无效。 GDB 失败并显示消息:/home/user-name/Project/final : no such file or directory 。如果在进程启动后更改了进程的可执行文件,则可能会发生这种情况。例如安装更新时。尝试重新启动应用程序或重新启动机器
无法复制,我是这样输入的
【参考方案1】:
answer 解决了我的问题。问题是我还需要修改tasks.json文件
【讨论】:
以上是关于在 Visual Studio Code 中使用 Makefile 调试现有项目的主要内容,如果未能解决你的问题,请参考以下文章
在 Visual Studio Code 中销毁 TypeScript