繁体   English   中英

单独的GDB和调试过程的工作目录

[英]Seperate Working Directory for GDB and Debugged Process

在我正在进行的项目中,我使用gdb进行调试 - 我希望能够从gdb调用make - 但我不能,因为这意味着工作目录将是不正确的。 这是我的目录布局和我尝试过的两个选项:

Project
 ├─bin
 │ ┗━Option 1
 ├─build
 │ ├─debug.sh
 │ ┟─makefile
 │ ┗━Option 2
 ├─include
 └─src

以下是使用选项1debug.sh的内容

#!/bin/bash
gdb --cd=../bin ../bin/ProjectBinary -ex run

选项1:

当我调用./debug ,程序正确运行 - 工作目录正确设置为Project/bin 但我无法从gdb调用make ,因为makefile不在当前目录中。

debug.shdebug.sh未显示):

当我调用./debug ,程序失败,因为工作目录设置不正确 - 但我可以成功从gdb调用make

我如何充分利用这两个世界并允许它,以便我可以从gdb调用make ,以及工作目录对可执行文件是正确的 - 即我如何有2个工作目录,一个用于正在调试的程序,以及一个对于gdb自己?

保持bin /但传递“ -c ”选项使其首先切换到../build

$ cd ./bin
$ gdb ProjectBinary
(gdb) make -C ../build

您还可以创建调用build/Makefile bin/Makefile build/Makefile

斌/ Makefile文件

.PHONY: all
all:
        make -C ../build

(将空格更改为调用make的行开头的制表符)

然后运行:

$ gdb ProjectBinary
(gdb) make

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM