Thread View: pl.comp.os.linux.programowanie
3 messages
3 total messages
Started by pw
Sat, 08 Jan 2011 09:15
call trace
Author: pw
Date: Sat, 08 Jan 2011 09:15
Date: Sat, 08 Jan 2011 09:15
17 lines
1284 bytes
1284 bytes
Witam, Modul jadra zawiesza sie i drukuje call trace w postaci: funkcja1+0x31e/0x430 [modul1] funkcja2+0x0/0x10 funkcja3+0xcf/0x1b0 [modul1] [...] Code: Baid EIP Value EIP: [<00000000>] 0x0 Chcialbym odczytac z call trace numer lini kodu zrodlowego, nazwy funkcji sa natomiast, nie wiem ktora to linijka kodu ... zapewne chodzi o te numery hex przy funkcjach, ale jak je skonwertowac na numer lini kodu zrodlowego? pozdrawiam, pw
Re: call trace
Author: Adam Osuchowski
Date: Sat, 08 Jan 2011 12:07
Date: Sat, 08 Jan 2011 12:07
23 lines
1750 bytes
1750 bytes
pw wrote: > Modul jadra zawiesza sie i drukuje call trace w postaci: > > funkcja1+0x31e/0x430 [modul1] > funkcja2+0x0/0x10 > funkcja3+0xcf/0x1b0 [modul1] > [...] > Code: Baid EIP Value > EIP: [<00000000>] 0x0 > > Chcialbym odczytac z call trace numer lini kodu zrodlowego, nazwy funkcji > sa natomiast, nie wiem ktora to linijka kodu ... zapewne chodzi o te numery > hex przy funkcjach, ale jak je skonwertowac na numer lini kodu zrodlowego? Liczby przy nazwach funkcji to offset miejsca wywołania względem początku funkcji i długość funkcji. Przed wszystkim, skompiluj kernel z włączoną opcją ,,Compile the kernel with debug info'' (CONFIG_DEBUG_INFO). Potem znajdź adres początku funkcji, dodaj do niego offset, a następnie narzędziem addr2line z binutilsów zamień go na nazwę pliku i numer linii. BTW, bierzesz się za programowanie kernela, a nie wiesz jak go potem debugować. Może poćwicz najpierw w user-space, a nie skacz od razu na głęboką wodę.
Re: call trace
Author: pw
Date: Sat, 08 Jan 2011 15:03
Date: Sat, 08 Jan 2011 15:03
26 lines
2089 bytes
2089 bytes
On 01/08/2011 01:07 PM, Adam Osuchowski wrote: > pw wrote: >> Modul jadra zawiesza sie i drukuje call trace w postaci: >> >> funkcja1+0x31e/0x430 [modul1] >> funkcja2+0x0/0x10 >> funkcja3+0xcf/0x1b0 [modul1] >> [...] >> Code: Baid EIP Value >> EIP: [<00000000>] 0x0 >> >> Chcialbym odczytac z call trace numer lini kodu zrodlowego, nazwy funkcji >> sa natomiast, nie wiem ktora to linijka kodu ... zapewne chodzi o te numery >> hex przy funkcjach, ale jak je skonwertowac na numer lini kodu zrodlowego? > > Liczby przy nazwach funkcji to offset miejsca wywołania względem początku > funkcji i długość funkcji. Przed wszystkim, skompiluj kernel z włączoną opcją > ,,Compile the kernel with debug info'' (CONFIG_DEBUG_INFO). Potem znajdź > adres początku funkcji, dodaj do niego offset, a następnie narzędziem > addr2line z binutilsów zamień go na nazwę pliku i numer linii. > > BTW, bierzesz się za programowanie kernela, a nie wiesz jak go potem > debugować. Może poćwicz najpierw w user-space, a nie skacz od razu na > głęboką wodę. ok, wielkie dzieki
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads