Sysprogs forums › Forums › VisualGDB › Breakppoints and Stepping on Android
- This topic has 6 replies, 3 voices, and was last updated 10 years, 8 months ago by ket.
-
AuthorPosts
-
August 29, 2013 at 20:54 #632cpuserParticipant
Hi,
I am using NDK r9 and SDK 22.0.5 (API 18) and Debug APK. We’re using Ant to build.
– If I try to add a breakpoint before running the executable and then run
– or if I add the breakpoint while the executable is running,
– or if I try to start the executable with adb with a raise(SIGINT) in the code and start Debug APK with attach to first instance before the raise(SIGINT) is hit,in all those cases, I am getting a dialog box saying:
GDB Command Timeout
The following GDB command is taking too long to complete:
-file-list-exec-source-files
( I waited 500+ seconds )If I click on abort command it’s then showing a dialog box saying:
GDB Command Timeout
The following GDB command is taking too long to complete:
-exec-continueIf I then click on abort command. it says:
Visual GDB
Failed to start debugging session. GDB has reported the following error:
Object reference not set to an instance of an object
Please build your project first. If this does not help check GDB startup parameters in VisualGDB project settings.The short version is that I haven’t been able to use any breakpoint, and as a consequence I haven’t been able to try stepping.
(I also tried to also use the Debugging Pause button of visual studio, and it does pause, but I don’t seem to get a correct callstack then for the Main Thread.
It’s only 3 level deep, with the inner most level in an eopwait function (or something similar). The 2 other levels don’t seem to have symbols.
If I try to step from there, I am getting the GDB timeout windows, I don’t remember the exact command it was trying to run).So before we make a purchase, I want to know if there’s a solution, or if the Debug APK command doens’t allow you to use breakpoint and step?
Thanks!
August 29, 2013 at 21:55 #2612cpuserParticipantI forgot to mention, I am using a Nexus 7 and VisualGDB 4.0.
August 29, 2013 at 22:04 #2613cpuserParticipantQuick update. I had another case where I was able to set a breakpoint and step.
I started the executable. One thread had an infinite loop in it.
I used attach to existing instance
I used debugger pause in visual
I select the thread which had the infinite loop instead of the “main thread” which was just waiting (epoll_wait).
I put a breakpoint in the code
I got the timeout window, I said abort command
I resumed, it actually hit my breakpoint
and from there I was able to step.So I guess switching to the correct thread did the trick?
That kind of solves my issue.The stepping is extremely slow, it’s taking about 2 seconds each time, is that expected?
Thanks.
August 29, 2013 at 22:15 #2614ketParticipantHi,
Have you tried setting the “Disable -file-list-exec-source-files” option?
With large projects polling all the source files at once tends to take a long time, how large is your project?The call stack can only show functions with symbols, i.e. you cannot step into system libraries as they are not built with symbols.
As for the delay, are you using a Windows vm to run Visual Studio and channeling the USB connection of the Android device into the vm?
Btw, VisualGDB also uses NDK and ant to build Android projects.
August 29, 2013 at 22:36 #2611cpuserParticipantHi,
Yes, “Disable -file-list-exec-source-files” seems to fix the issue and doesn’t seem to have any bad consequence for me, I am still getting the symbols and it still opens the files in Visual Studio. The breakpoints seem to work fine.
Sorry I am totally new to Android and GDB, and I was just expecting a flowless Visual Studio-like experience 🙂
I am using a native windows 7, no VM.By Ant I meant that we have a very complicated build process with our own makefiles for the native part and then ant to make the package, so I am just using the option to debug an APK I have built, I can’t really make a Visual Studio VisualGDB project.
Thanks for the quick answer!
April 3, 2014 at 05:48 #2615AnonymousParticipantI have the same issue with a linux project I’m trying to debug however I don’t see the “Disable -file-list-exec-source-files” option. where would I find that for a linux project?
I’m using VisualGDB 4.1April 4, 2014 at 19:12 #2616ketParticipantHi,
The GDB settings option in VisualGDB Project Properties is called “Use relative source file paths instead of querying full path lists”.
-
AuthorPosts
- You must be logged in to reply to this topic.