flat assembler
Message board for the users of flat assembler.
 Home   FAQ   Search   Register 
 Profile   Log in to check your private messages   Log in 
flat assembler > Linux > Debuggers for Linux

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



Joined: 21 Aug 2004
Posts: 604
Location: Germany
Debuggers for Linux
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: 444
Location: BC, Canada
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: 7110
Location: Slovakia
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: 444
Location: BC, Canada
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: 604
Location: Germany
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
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
Post 10 Feb 2007, 14:00
View user's profile Send private message Reply with quote
MCD



Joined: 21 Aug 2004
Posts: 604
Location: Germany

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: 7110
Location: Slovakia
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: 1953
Location: Usono (aka, USA)
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: 7110
Location: Slovakia
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: 1953
Location: Usono (aka, USA)
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: 604
Location: Germany

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: 655
Location: Jakarta, Indonesia
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
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: 1953
Location: Usono (aka, USA)
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: 604
Location: Germany

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: 7110
Location: Slovakia
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: 1953
Location: Usono (aka, USA)
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
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 cannot download files in this forum


Powered by phpBB © 2001-2005 phpBB Group.

Main index   Download   Documentation   Examples   Message board
Copyright © 2004-2013, Tomasz Grysztar.