Updated readme
This commit is contained in:
13
readme.txt
13
readme.txt
@@ -361,10 +361,10 @@ while( SDL_PollEvent(&evt) )
|
|||||||
Quick guide to debug native code
|
Quick guide to debug native code
|
||||||
================================
|
================================
|
||||||
|
|
||||||
The debugging of multi-threaded apps is not supported with NDK r4 or r4b, you'll need NDK r5c
|
You need compile your app with debug enabled to be able to debug native code:
|
||||||
and Android 2.3 emulator or device.
|
./build.sh debug
|
||||||
To debug your application go to "project" dir and launch command
|
To debug your application - launch it, go to "project" dir and launch command
|
||||||
ndk-gdb --verbose --start --force
|
ndk-gdb
|
||||||
then you can run usual GDB commands, like:
|
then you can run usual GDB commands, like:
|
||||||
cont - continue execution.
|
cont - continue execution.
|
||||||
info threads - list all threads, there will usually be like 11 of them with thread 10 being your main thread.
|
info threads - list all threads, there will usually be like 11 of them with thread 10 being your main thread.
|
||||||
@@ -395,12 +395,13 @@ I/DEBUG ( 51): #03 pc 0002ca00 /data/data/de.schwardtnet.alienbla
|
|||||||
I/DEBUG ( 51): #04 pc 00028b6e /data/data/de.schwardtnet.alienblaster/lib/libsdl.so
|
I/DEBUG ( 51): #04 pc 00028b6e /data/data/de.schwardtnet.alienblaster/lib/libsdl.so
|
||||||
I/DEBUG ( 51): #05 pc 0002d080 /data/data/de.schwardtnet.alienblaster/lib/libsdl.so
|
I/DEBUG ( 51): #05 pc 0002d080 /data/data/de.schwardtnet.alienblaster/lib/libsdl.so
|
||||||
|
|
||||||
2. Go to project/bin/ndk/local/armeabi dir, find there the library mentioned in stacktrace
|
2. Go to project/bin/ndk/local/armeabi or armeabi-v7a dir, find there the library mentioned in stacktrace
|
||||||
(libsdl.so in our example), copy the address of the first line of stacktrace (0002ca00), and execute command
|
(libsdl.so in our example), copy the address of the first line of stacktrace (0002ca00), and execute command
|
||||||
|
|
||||||
<your NDK path>/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gdb libsdl.so -ex "list *0x0002ca00" -ex "list *0x00028b6e" -ex "list *0x0002d080"
|
<your NDK path>/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gdb libsdl.so -ex "list *0x0002ca00" -ex "list *0x00028b6e" -ex "list *0x0002d080"
|
||||||
|
|
||||||
It will output the exact line in your source where the application crashed, and some stack trace if available.
|
It will output the exact line in your source where the application crashed, and some stack trace if available.
|
||||||
|
You may also try to use ndk-stack script to do that for you.
|
||||||
|
|
||||||
If your application does not work for unknown reasons, there may be the case when it exports some symbol
|
If your application does not work for unknown reasons, there may be the case when it exports some symbol
|
||||||
that clash with exports from system libraries - run checkExports.sh to check this.
|
that clash with exports from system libraries - run checkExports.sh to check this.
|
||||||
|
|||||||
Reference in New Issue
Block a user