openjdk-7 gdb перечисляют ошибку: “main.c: Никакой такой файл или каталог”

Я в настоящее время борюсь с отладкой openjdk у Испытанного Тара. Я уже установил opejdk-7-jdk и openjdk-7-dbg. Когда я выхожу gdb java Я вижу, что это читает символы правильно, но когда я прошу перечислять код, это жалуется на main.c, не найденный. Мне удается получить отладку, работающую в CentOS, и я мог перечислить файл main.c, но я хочу заставить это работать над Ubuntu, поскольку это - мой основной дистрибутив.

Необработанный вывод:

GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from java...Reading symbols from /usr/lib/debug//usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java...done.
done.
(gdb) l
85  ../../../../src/share/bin/main.c: No such file or directory.
(gdb) 

Я должен сделать что-то дополнительное для размещения main.c, где это может быть найдено?

0
задан 31 August 2018 в 10:30

1 ответ

Необходимо изменить source path используемый gdb для обнаружения исходного файла.

Согласно gdb руководство :

Исполняемые программы иногда не записывают каталоги исходных файлов, от которых они были скомпилированы, просто имена. Даже когда они делают, каталоги могли быть перемещены между компиляцией и Вашим сеансом отладки. GDB имеет список каталогов для поиска исходных файлов; это называют исходным путем.

сначала необходимо узнать, где исходный файл находится в системе:

 locate main.c

и, чем использование dir dirname команда к:

каталог Add dirname к передней стороне исходного пути. Несколько имен каталогов могут быть даны этой команде, разделенной †˜:’ (†˜; ’ на MS-DOS и MS Windows, где †˜:’ обычно появляется как часть абсолютных имен файлов), или пробел. Можно определить каталог, который уже находится в исходном пути; это перемещает его вперед, таким образом, GDB ищет его раньше.

Read тщательно gdb ссылка руководства выше, чтобы знать, как это source path используется.

0
ответ дан 6 October 2019 в 09:24

Другие вопросы по тегам:

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