Найдите путь исходного кода для исполняемого файла, в настоящее время отлаживаемого в gdb

Я могу установить точку останова в основном и отладить код с корректным исходным кодом, но я не знаю, откуда gdb берет исходный код.

Исходный код не присутствует в CWD.

Как найти, от которого местоположение gdb действительно ли взятие является кодом?

19
задан Ciro Santilli 新疆改造中心法轮功六四事件 18 July 2015 в 07:27
поделиться

5 ответов

You can use gdb command:

info source

Sample output:

Current source file is a.c
Compilation directory is /home/user/test
Located in /home/user/test/a.c
Contains 17 lines.
Source language is c.
Compiled with DWARF 2 debugging format.
Includes preprocessor macro info.
25
ответ дан 30 November 2019 в 03:29
поделиться

use

(gdb) show directories

if you don't know where those directories get set check into your .gdbinit if there are statements like

directory /path/to/source

see also this other SO Thread about gdb

5
ответ дан 30 November 2019 в 03:29
поделиться

Эта информация хранится в двоичном формате в формате DWARF2 . Итак, чтобы увидеть информацию DWARF2, вы можете использовать утилиту dwarfdump. Необходимая информация хранится в поле DW_AT_comp_dir.

5
ответ дан 30 November 2019 в 03:29
поделиться

Use the gdb "show directories" command to see the source search path.

1
ответ дан 30 November 2019 в 03:29
поделиться

The binary is probably compiled with "-g" - i.e. debugging.

2
ответ дан 30 November 2019 в 03:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: