Question

Je suis en utilisant la version Linux de dbxtool pour déboguer un programme 64 bits appelé 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

Lorsque je tente de charger le fichier exécutable au sein dbxtool, je reçois une « architecture non pris en charge » message, que je suppose signifie que la version 32 bits de DBX est chargé:

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

Cependant, si je lance dbx de la ligne de commande, il est capable de charger le fichier, probablement en chargeant automatiquement la version 64 bits du débogueur.

(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

Je ne peux pas trouver une option qui forcerait dbxtool à utiliser le 64 mais débogueur, en fait le seul que je peux trouver est l'un pour forcer l'utilisation du débogueur 32 bits dans un environnement 64 bits!

des suggestions?

Était-ce utile?

La solution

Un travail est autour de lancer dbxtool avec le programme à déboguer sur la ligne de commande. par exemple.

dbxtool buggyprogram buggyparameter

un autre travail est de l'ordre de mettre fin à la session dbx qui charge automatiquement et ouvrir un nouveau.

Si vous obtenez l'erreur d'architecture non pris en charge attacher à un processus, déboguer un fichier, puis attacher au processus, la réutilisation de la session actuelle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top