flat assembler
Message board for the users of flat assembler.

Index > Linux > Debuggers for Linux

Goto page 1, 2  Next
Author
Thread Post new topic Reply to topic
MCD



Joined: 21 Aug 2004
Posts: 602
Location: Germany
MCD 26 Dec 2006, 06:56
I know that there are some debuggers for Linux, but I am searching for something that can compare to OllyDbg and works with the i386 architecture.

I just wanted to ask other Fasm forum members if he/she has good experience with such a Linux debugger, because I don't want to download 1000s of programs, testing them all and deleting 99,9% afterwards. Rolling Eyes

Also it should be noted that I'm quiet new to Linux, but I did lots of stuff in Windoze before.
My machine is some Debian derivate running on an AMD Athlon XP. So plain programs that don't need to be installed (like Olly) are as much welcome as .deb packages, as long as they aren't bloated like 10.000 files and 50MB. (like those crappy java stuff I needed to install quiet recently)

thanks to everyone in advance

_________________
MCD - the inevitable return of the Mad Computer Doggy

-||__/
.|+-~
.|| ||
Post 26 Dec 2006, 06:56
View user's profile Send private message Reply with quote
RedGhost



Joined: 18 May 2005
Posts: 443
Location: BC, Canada
RedGhost 26 Dec 2006, 10:55
gdb which is comes with basically every distro can work like OllyDbg, just install one of the many GUIs for it.

_________________
redghost.ca
Post 26 Dec 2006, 10:55
View user's profile Send private message AIM Address MSN Messenger Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 26 Dec 2006, 11:26
RedGhost: which gui do you suggest?
Post 26 Dec 2006, 11:26
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
RedGhost



Joined: 18 May 2005
Posts: 443
Location: BC, Canada
RedGhost 26 Dec 2006, 14:17
ugh it's been so long, the two I remember using were "ddd" and "insight"

http://sources.redhat.com/insight/
http://www.gnu.org/software/ddd/

You will probably have to configure it to show assembly code instead of it trying to get debug symbols and show C or what have you. If I remember correctly one of them supports Intel syntax instead of fugly and illogical(opinion alert!) at&t syntax.

_________________
redghost.ca
Post 26 Dec 2006, 14:17
View user's profile Send private message AIM Address MSN Messenger Reply with quote
MCD



Joined: 21 Aug 2004
Posts: 602
Location: Germany
MCD 07 Jan 2007, 11:51
I just found another good one, but watch out, they say it's pre-alpha and I'm not sure if it's unmaintained:http://lida.reverse-engineering.net/

EDIT: forget about it, it's just a completely unfinished/unmaintained project
Post 07 Jan 2007, 11:51
View user's profile Send private message Reply with quote
stanks



Joined: 01 Dec 2003
Posts: 36
Location: Croatia
stanks 09 Jan 2007, 15:07
lida is disassembler not debugger
Post 09 Jan 2007, 15:07
View user's profile Send private message ICQ Number Reply with quote
andreism



Joined: 10 Feb 2007
Posts: 9
Location: Russia, Moscow
andreism 10 Feb 2007, 14:00
Post 10 Feb 2007, 14:00
View user's profile Send private message Reply with quote
MCD



Joined: 21 Aug 2004
Posts: 602
Location: Germany
MCD 11 Feb 2007, 13:33
andreism wrote:
I recommend ALD:

http://ald.sourceforge.net/

thanks, but I couldn't compile it. Configure went fine but make reported something like "readline/readline.c" wasn't found, see this error log
($DEVEL_PATH is the path where I have extracted ALD)
MAKE wrote:

Making all in doc
make[1]: Entering directory `$DEVEL_PATH/ald-0.1.7/doc'
make[1]: Für das Ziel »all« ist nichts zu tun.
make[1]: Leaving directory `$DEVEL_PATH/ald-0.1.7/doc'
Making all in libString
make[1]: Entering directory `$DEVEL_PATH/ald-0.1.7/libString'
Making all in source
make[2]: Entering directory `$DEVEL_PATH/ald-0.1.7/libString/source'
make[2]: Für das Ziel »all« ist nichts zu tun.
make[2]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libString/source'
make[2]: Entering directory `$DEVEL_PATH/ald-0.1.7/libString'
make[2]: Für das Ziel »all-am« ist nichts zu tun.
make[2]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libString'
make[1]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libString'
Making all in libDebug
make[1]: Entering directory `$DEVEL_PATH/ald-0.1.7/libDebug'
Making all in arch
make[2]: Entering directory `$DEVEL_PATH/ald-0.1.7/libDebug/arch'
Making all in ix86
make[3]: Entering directory `$DEVEL_PATH/ald-0.1.7/libDebug/arch/ix86'
Making all in source
make[4]: Entering directory `$DEVEL_PATH/ald-0.1.7/libDebug/arch/ix86/source'
make[4]: Für das Ziel »all« ist nichts zu tun.
make[4]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libDebug/arch/ix86/source'
make[4]: Entering directory `$DEVEL_PATH/ald-0.1.7/libDebug/arch/ix86'
make[4]: Für das Ziel »all-am« ist nichts zu tun.
make[4]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libDebug/arch/ix86'
make[3]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libDebug/arch/ix86'
make[3]: Entering directory `$DEVEL_PATH/ald-0.1.7/libDebug/arch'
make[3]: Für das Ziel »all-am« ist nichts zu tun.
make[3]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libDebug/arch'
make[2]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libDebug/arch'
Making all in source
make[2]: Entering directory `$DEVEL_PATH/ald-0.1.7/libDebug/source'
make[2]: Für das Ziel »all« ist nichts zu tun.
make[2]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libDebug/source'
make[2]: Entering directory `$DEVEL_PATH/ald-0.1.7/libDebug'
make[2]: Für das Ziel »all-am« ist nichts zu tun.
make[2]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libDebug'
make[1]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libDebug'
Making all in libDASM
make[1]: Entering directory `$DEVEL_PATH/ald-0.1.7/libDASM'
Making all in arch
make[2]: Entering directory `$DEVEL_PATH/ald-0.1.7/libDASM/arch'
Making all in ix86
make[3]: Entering directory `$DEVEL_PATH/ald-0.1.7/libDASM/arch/ix86'
Making all in source
make[4]: Entering directory `$DEVEL_PATH/ald-0.1.7/libDASM/arch/ix86/source'
make[4]: Für das Ziel »all« ist nichts zu tun.
make[4]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libDASM/arch/ix86/source'
make[4]: Entering directory `$DEVEL_PATH/ald-0.1.7/libDASM/arch/ix86'
make[4]: Für das Ziel »all-am« ist nichts zu tun.
make[4]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libDASM/arch/ix86'
make[3]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libDASM/arch/ix86'
make[3]: Entering directory `$DEVEL_PATH/ald-0.1.7/libDASM/arch'
make[3]: Für das Ziel »all-am« ist nichts zu tun.
make[3]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libDASM/arch'
make[2]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libDASM/arch'
Making all in source
make[2]: Entering directory `$DEVEL_PATH/ald-0.1.7/libDASM/source'
make[2]: Für das Ziel »all« ist nichts zu tun.
make[2]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libDASM/source'
make[2]: Entering directory `$DEVEL_PATH/ald-0.1.7/libDASM'
make[2]: Für das Ziel »all-am« ist nichts zu tun.
make[2]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libDASM'
make[1]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libDASM'
Making all in libOFF
make[1]: Entering directory `$DEVEL_PATH/ald-0.1.7/libOFF'
Making all in source
make[2]: Entering directory `$DEVEL_PATH/ald-0.1.7/libOFF/source'
make[2]: Für das Ziel »all« ist nichts zu tun.
make[2]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libOFF/source'
make[2]: Entering directory `$DEVEL_PATH/ald-0.1.7/libOFF'
make[2]: Für das Ziel »all-am« ist nichts zu tun.
make[2]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libOFF'
make[1]: Leaving directory `$DEVEL_PATH/ald-0.1.7/libOFF'
Making all in source
make[1]: Entering directory `$DEVEL_PATH/ald-0.1.7/source'
if gcc -DHAVE_CONFIG_H -I. -I. -I../include -I../include -I../libDebug/include -I../libDASM/include -I../libOFF/include -I../libString/include -g -O2 -DNDEBUG -MT readln.o -MD -MP -MF ".deps/readln.Tpo" -c -o readln.o readln.c; \
then mv -f ".deps/readln.Tpo" ".deps/readln.Po"; else rm -f ".deps/readln.Tpo"; exit 1; fi
readln.c:25:31: error: readline/readline.h: Datei oder Verzeichnis nicht gefunden
readln.c:30:30: error: readline/history.h: Datei oder Verzeichnis nicht gefunden
make[1]: *** [readln.o] Fehler 1
make[1]: Leaving directory `$DEVEL_PATH/ald-0.1.7/source'
make: *** [all-recursive] Fehler 1


I guess this is a kind of bug of this program, cause it was mentioned in the BUGS-file in the main program directory:
BUGS wrote:

B: check readline/readline.h and readline/history.h
V: 0.1.7
D: ald will still try to compile readln.c if these are missing

but this doesn't apply to me.

Now, who can help, cause I'm relatively new to Linux C-programming.

_________________
MCD - the inevitable return of the Mad Computer Doggy

-||__/
.|+-~
.|| ||
Post 11 Feb 2007, 13:33
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 11 Feb 2007, 16:55
for linux C programming, you can get great TurboVision-based IDE rhide. It can use GDB to debug, i wonder if it can debug binaries without sources. Someone could try it.
Post 11 Feb 2007, 16:55
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 11 Feb 2007, 21:05
A quick Google search points to GNU Readline. As far as RHIDE, I suggest you (also?) try the latest/last DJGPP build, if you can.
Post 11 Feb 2007, 21:05
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 11 Feb 2007, 21:36
rugxulo: can it debug asm code without symbols with neat IDE?
Post 11 Feb 2007, 21:36
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 11 Feb 2007, 21:40
vid, dunno, I don't use it, but I somewhat doubt it. Still, some people like it, so I'm just passing along a link. At worst, you waste a few hours on it, give up, and try something else. Try asking at comp.os.msdos.djgpp on Google Groups if you really want to know. They know everything (well, a lot anyways). Wink
Post 11 Feb 2007, 21:40
View user's profile Send private message Visit poster's website Reply with quote
MCD



Joined: 21 Aug 2004
Posts: 602
Location: Germany
MCD 12 Feb 2007, 00:04
rugxulo wrote:
A quick Google search points to GNU Readline. As far as RHIDE, I suggest you (also?) try the latest/last DJGPP build, if you can.

so this ALD requires DJGPP, an plain GCC configure/make won't do the job?
Post 12 Feb 2007, 00:04
View user's profile Send private message Reply with quote
TmX



Joined: 02 Mar 2006
Posts: 843
Location: Jakarta, Indonesia
TmX 12 Feb 2007, 05:27
ALD is a Linux program so it doesn't use DJGPP
Post 12 Feb 2007, 05:27
View user's profile Send private message Reply with quote
arafel



Joined: 29 Aug 2006
Posts: 131
Location: Jerusalem, Israel
arafel 13 Feb 2007, 15:09
MCD,

"./configure --disable-readline"
Post 13 Feb 2007, 15:09
View user's profile Send private message Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 13 Feb 2007, 19:00
I was only talking about the DJGPP port of RHIDE. Sorry for any confusion.
Post 13 Feb 2007, 19:00
View user's profile Send private message Visit poster's website Reply with quote
MCD



Joined: 21 Aug 2004
Posts: 602
Location: Germany
MCD 13 Feb 2007, 23:09
arafel wrote:
MCD,

"./configure --disable-readline"

thanks for the hint, but that wasn't enough to make it work, I also had to change some code in the source/readln.c, which falsely included the ./readline/readline.c file, which isn't even present in the source tree. How can this be?

well, I finally managed to get a running version of ALD. I think it's quiet usable, much less overbloated than GDB and works fine, but only in theory, cause debugging programs without proper register/code/stack/data interaction is just an incredible pain.

So I though that I need a good UI on top of that, you have proposed RHIDE, but I would have to get DJGPP first. Another problem for that is that RHIDE isn't maintained anymore, so it probably lacks many newer features.

Another thought was to start an own GUI for ALD that would allow debugging processes more interactively (I would have called it ALDI - Assembly Language Debugger Interactive UI Very Happy ), but then I realized that ALD itself has some problems for me:

-support only up to MMX (no SSE etc)
-no way to change/fill in new instructions except getting machine code from fasm and C/P it to the ALD window and write it into memory with en(ter)
=> changing some few instructions has never been more complecated than this
-does ALD got some stack (top) dump/display feature? don't know. (using the regular memory dump command as stack dump is a bit fiddly)
-currently unmaintained
-written in C, berk, I don't like it

maybe there are more, I've especially not completely checked it against any kind of bugs.
I think that ALD is also unusable without a proper UI, so I think Linux really lacks of good interactive assembly level debuggers in general

_________________
MCD - the inevitable return of the Mad Computer Doggy

-||__/
.|+-~
.|| ||
Post 13 Feb 2007, 23:09
View user's profile Send private message Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 13 Feb 2007, 23:21
MCD: you can also try GDBTUI, but still it sucks.

too bad we don't have 32bit FDBG with TurboVision IDE Sad(((
Post 13 Feb 2007, 23:21
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
rugxulo



Joined: 09 Aug 2005
Posts: 2341
Location: Usono (aka, USA)
rugxulo 14 Feb 2007, 02:49
RHIDE can supposedly be built for other OSes too (e.g., Linux).

Quote:

The original system, RHIDE was written for, is DJGPP. Because of many requests and the increasing popularity I made RHIDE also available for GNU/Linux. Support for CYGWIN is still unstable.


P.S. Check The Free Country for various debugging links (probably not helpful but oh well, that's all I know ...).
Post 14 Feb 2007, 02:49
View user's profile Send private message Visit poster's website Reply with quote
stanks



Joined: 01 Dec 2003
Posts: 36
Location: Croatia
stanks 14 Feb 2007, 06:55
btw MCD did you try this http://www.codef00.com/projects.php
Post 14 Feb 2007, 06:55
View user's profile Send private message ICQ Number Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page 1, 2  Next

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.