Re: Richtig debuggen, aber wie?

From: Bernd Walter <ticso(at)cicely9.cicely.de>
Date: Tue, 4 Mar 2003 10:54:38 +0100

On Tue, Mar 04, 2003 at 10:46:42AM +0100, Ulrich Spoerlein wrote:
> Moin,
>
> mal wieder eine Frage zum debuggen, denn ich haenge schon wieder.
>
> Durch WINE habe ich herrausbekommen, das sich mein System beim Versuch
> die Soundkarte auf 96kHz zu stellen in einer Endlosschleife in ioctl()
> festhaengt. Mit gdb sieht das so aus:
>
> [...]
> setting sampling rate to 96000
> ^C
> Program received signal SIGINT, Interrupt.
> 0x2809da8a in ioctl () from /usr/lib/libc.so.4
> (gdb) bt
> #0 0x2809da8a in ioctl () from /usr/lib/libc.so.4
> #1 0x804871a in main () at oss-test.c:36
> #2 0x8048502 in _start ()
> (gdb)

Wie hast du einen gdb gestartet, wenn doch das System hängt?

> Dann habe ich libc.so mit -g neue kompiliert und unge'strip'ped
> installiert, in der Hoffnung ich krieg irgendeine Zeilennummer oder eine
> for/while Schleife zu sehen an der es haengt. Nur leider sieht die
> Ausgabe mit debug-libc genauso aus.
>
> Wie geht's also weiter?

Ich würde es erst mal mit einem ktrace/kdump versuchen.
Damit kann man erst mal versuchen herauszubekommen was er genau von
der Soundkarte erwartet.
Damit kannst du dir dann eine Meinung bilden, ob das am Soundtreiber
oder an der Anwendung liegt und dann die zugehörige Codestelle suchen
und fixen.

-- 
B.Walter              COSMO-Project         http://www.cosmo-project.de
ticso(at)cicely.de         Usergroup           info(at)cosmo-project.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 04 Mar 2003 - 10:54:49 CET

search this site