dbxtool в 64-разрядном linux не будет загружать 64-разрядную версию dbx?

StackOverflow https://stackoverflow.com/questions/1271226

Вопрос

Я использую Linux-версию dbxtool для отладки 64-разрядной программы под названием frankie:

file ../support/frankie
../support/frankie: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.4, dynamically linked (uses shared libs), for GNU/Linux 2.6.4, not stripped

Когда я пытаюсь загрузить исполняемый файл в dbxtool, я получаю сообщение "неподдерживаемая архитектура", которое, как я предполагаю, означает, что загружена 32-разрядная версия dbx:

(dbx) debug ~/support/frankie
dbx: ~/support/frankie has unsupported architecture or file format

Однако, если я запускаю dbx из командной строки, он способен загрузить файл, предположительно, путем автоматической загрузки 64-разрядной версии отладчика.

(dbx) debug ../support/frankie
Reading frankie
Reading ld-linux-x86-64.so.2
Reading libm.so.6
Reading libncurses.so.5
Reading libc.so.6
Reading libdl.so.2

Я не могу найти ни одного варианта, который заставил бы dbxtool использовать 64-разрядный отладчик, фактически единственный, который я могу найти, - это принудительное использование 32-разрядного отладчика в 64-разрядной среде!

есть какие-нибудь предложения?

Это было полезно?

Решение

Обходной путь заключается в запуске dbxtool с отлаживаемой программой в командной строке.например ,

dbxtool buggyprogram buggyparameter

другой способ обойти проблему - завершить сеанс dbx, который автоматически загружается, и открыть новый.

Если вы получаете ошибку неподдерживаемой архитектуры при подключении к процессу, отладьте файл, затем присоедините к процессу, повторно используя существующий сеанс.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top