Как установить Libstdc ++ 6 Символов отладки на Ubuntu 20.04?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как установить Libstdc ++ 6 Символов отладки на Ubuntu 20.04?

Сообщение Anonymous »

Например, возьмите следующий минимальный пример: < /p>

Код: Выделить всё

#include 
#include 

int main(int argc, char* argv[]){
#ifdef __GLIBCPP__
std::printf("GLIBCPP: %d\n",__GLIBCPP__);
#endif
#ifdef __GLIBCXX__
std::printf("GLIBCXX: %d\n",__GLIBCXX__);
#endif
throw std::runtime_error("Were are libstdc++.so.6 debug symbols?");
return 0;
}

При запуске его внутри моего GDB  он не показывает символы отладки для libstdc ++. So.6 :
$ g++ -o testmain test.cpp -ggdb --std=c++98 && gdb ./testmain
GNU gdb (Ubuntu 9.1-0ubuntu1) 9.1
Copyright (C) 2020 Free Software Foundation, Inc.
...
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./testmain...
(gdb) r
Starting program: /home/user/Downloads/testmain
GLIBCXX: 20200408
terminate called after throwing an instance of 'std::runtime_error'
what():  Were are libstdc++.so.6 debug symbols?
< /code>
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50  ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt f
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
set = {__val = {0, 0, 0, 0, 0, 0, 0, 0, 29295, 0, 0, 0, 0, 0, 0, 0}}
pid = 
tid = 
ret = 
#1  0x00007ffff7be1859 in __GI_abort () at abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = ... }
sigs = {__val = {32, 0 }}
#2  0x00007ffff7e67951 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#3  0x00007ffff7e7347c in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#4  0x00007ffff7e734e7 in std::terminate() () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#5  0x00007ffff7e73799 in __cxa_throw () from /lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#6  0x000055555555524a in main (argc=1, argv=0x7fffffffdef8) at test.cpp:11
No locals.
(gdb)
< /code>
It just shows No symbol table info available для libstdc ++. So.6  рамки. 
Как я могу показать символы для Libstdc ++. So.6 ? 
Поиск в этом списке https://packages.ubuntu.com/search?workwords=libstdc посмотрел.  Пакеты, но ни один из них не установил проблему: < /p>
[list]
[*]libgcc-10-dev:amd64  10.2.0-5ubuntu1~20.0
[*]

Код: Выделить всё

libstdc++-10-dev:amd64  10.2.0-5ubuntu1~20.0
[*]

Код: Выделить всё

libstdc++6-10-dbg:amd64  10.2.0-5ubuntu1~20.0
[*]

Код: Выделить всё

libc6-amd64-cross:all  2.31-0ubuntu7cross
[*]

Код: Выделить всё

linux-libc-dev-amd64-cross:all  5.4.0-21.25cross
[*]

Код: Выделить всё

libc6-dev-amd64-cross:all  2.31-0ubuntu7cross
[*]

Код: Выделить всё

libstdc++6-amd64-cross:all  10.2.0-5ubuntu1~20.04cross
[*]

Код: Выделить всё

libgcc-10-dev-amd64-cross:all  10.2.0-5ubuntu1~20.04cross
[*]

Код: Выделить всё

libstdc++-10-dev-amd64-cross:all  10.2.0-5ubuntu1~20.04cross
[*]

Код: Выделить всё

libstdc++6-10-dbg-amd64-cross:all  10.2.0-5ubuntu1~20.04cross
[*]libx32stdc++6-10-dbg:amd64 10.2.0-5ubuntu1~20.0
[/list]
Связанные вопросы:

Как вы обнаружите, какая версия Libstdc ++ библиотека установлена ​​на вашем minux? Найдено < /li>
< /ol>
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.1 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.1 LTS"
VERSION_ID="20.04"
< /code>

Update 1
$ dpkg --list | grep libstdc++6
ii libstdc++6:amd64 10.2.0-5ubuntu1~20.04 amd64 GNU Standard C++ Library v3
ii libstdc++6-10-dbg-amd64-cross 10.2.0-5ubuntu1~20.04cross1 all GNU Standard C++ Library v3 (debug build) (amd64)
ii libstdc++6-7-dbg:amd64 7.5.0-6ubuntu2 amd64 GNU Standard C++ Library v3 (debug build)
ii libstdc++6-amd64-cross 10.2.0-5ubuntu1~20.04cross1 all GNU Standard C++ Library v3 (amd64)
< /code>
Update 2
$ dpkg --list | grep libstdc++6
ii libstdc++6:amd64 10.2.0-5ubuntu1~20.04 amd64 GNU Standard C++ Library v3
ii libstdc++6-10-dbg:amd64 10.2.0-5ubuntu1~20.04 amd64 GNU Standard C++ Library v3 (debug build)
ii libstdc++6-10-dbg-amd64-cross 10.2.0-5ubuntu1~20.04cross1 all GNU Standard C++ Library v3 (debug build) (amd64)
ii libstdc++6-amd64-cross 10.2.0-5ubuntu1~20.04cross1 all GNU Standard C++ Library v3 (amd64)


Подробнее здесь: https://stackoverflow.com/questions/648 ... untu-20-04
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»