views:

131

answers:

1

I am using the Linux version of dbxtool to debug a 64-bit programme called 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

When I attempt to load the executable within dbxtool, I get an "unsupported architecture" message, which I assume means that the 32-bit version of dbx is loaded:

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

However, if I run dbx from the commandline, it is able to load the file, presumably by automatically loading the 64-bit version of the debugger.

(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

I cannot find any option that would force dbxtool to use the 64-but debugger, in fact the only one I can find is one to force use of the 32-bit debugger in a 64-bit environment!

any suggestions?

A: 

A work around is to launch dbxtool with the programme to be debugged on the command line. e.g.

dbxtool buggyprogram buggyparameter

another work around is to terminate the dbx session that automatically loads and open a new one.

If you get the unsupported architecture error attaching to a process, debug a file, then attach to the process, reusing the existing session.

frankster