[英]Seperate Working Directory for GDB and Debugged Process
在我正在进行的项目中,我使用gdb进行调试 - 我希望能够从gdb调用make
- 但我不能,因为这意味着工作目录将是不正确的。 这是我的目录布局和我尝试过的两个选项:
Project
├─bin
│ ┗━Option 1
├─build
│ ├─debug.sh
│ ┟─makefile
│ ┗━Option 2
├─include
└─src
以下是使用选项1的debug.sh
的内容
#!/bin/bash
gdb --cd=../bin ../bin/ProjectBinary -ex run
当我调用./debug
,程序正确运行 - 工作目录正确设置为Project/bin
。 但我无法从gdb调用make
,因为makefile不在当前目录中。
debug.sh
( debug.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.