Solaris 10 — отладка 64-битного приложения C ++ на 32-битном инструменте GDB

мы используем Sun Solaris для разработки наших приложений и компилируем 64-битные приложения с использованием -m64.

Но 32-битный инструмент GDB был установлен на моей машине, и мы не можем отладить наше 64-битное приложение.

Выход как

$ gdb cxlog
GNU gdb 6.8
Copyright (C) 2008 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 "sparc-sun-solaris2.10"...
(gdb) break main
Breakpoint 1 at 0x100001464: file cxlogger.c, line 147.
(gdb) run
Starting program: /usr33/SIR07140/GTB_HOME/GoTx_HOME/samples/cxlog
procfs:4337 -- process not stopped.
procfs: ...giving up...
(gdb) n
procfs: couldn't find pid 12372 (kernel thread 1) in procinfo list.
(gdb).

нормальная отладка хвалится как следующая & шаг не работает.

Если я компилирую свое приложение, используя -m32, GDB — рабочий файл.

Заранее спасибо.
Сундар Раджендран.

2

Решение

У вас есть три варианта — в порядке моих предпочтений:

  1. Установите 64-битную GDB на машину.
  2. Перестройте свое приложение в 32-битном режиме и отладьте таким образом.
  3. Создайте свою собственную версию GDB для 64-битных целей из исходных текстов.

Единственный способ отладки 64-разрядного двоичного файла — это создание gdb, созданного для 64-разрядного [или какого-либо другого отладчика, но в любом случае его необходимо создавать для 64-разрядных целевых объектов]

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]