在 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

visual studio code 怎么用

visual studio code怎么运行代码

Visual Studio 开发:安装配置Visual Studio Code

在Visual Studio Code中配置GO开发环境

在 Visual Studio Code 中使用 Makefile 调试现有项目