Hi everybody.
In what cases can be such a situation. The call stack is full of strange stuff and does not contain any string of the debugged code. -------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200618/d9fc18ea/attachment.html>
Mailing lists / lazarus / 2020-06
call stack
3 messages · 3 people ·
- LLuca Olivetti 1
- MMartin Frb 1
- ЕЕвгений Кадисов 1
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
El 18/6/20 a les 10:52, Евгений Кадисов via lazarus ha escrit:
Hi everybody. In what cases can be such a situation. The call stack is full of strange stuff and does not contain any string of the debugged code.
That's because it's either an external library or some pascal code with no debug information (i.e. the freepascal rtl/fcl is distributed without debug information).
In the latter case you'll have to rebuild the rtl/fcl with debug information (I defer to the experts on how to do this, every time I have to search duckduckgo/google to see how to do it), if the former and you're using linux, you'll have to install the debug/dbgsym packages of the libraries as well as the sources (again, duckduckgo/google is your friend).
I noticed that lazarus has some limited support to step through C code, that's nice when you're struggling to see why an external library is failing.
It could also be that the code has debug information but in a different format that your application.
Bye
Hi everybody. In what cases can be such a situation. The call stack is full of strange…
Евгений Кадисов wroteHi everybody. In what cases can be such a situation. The call stack is full of strange stuff and does not contain any string of the debugged code.
Make sure to open the threads window, and set each thread to current. Even if your app does not have threads, there may be some.
How did your app stop/pause?
Did you single step?
Did you hit the pause button?
Did the app report an error?
The pause button:
Unless your app is 100% busy (form does not respond), the pause button will probably pause your app in the kernel.
Otherwise it may be in the wrong thread.
App reported Error.
This can be in a library. Sometimes libraries produces stacks that can not be read by the debugger. But also make sure you show more than 10 frame, if available.
Or this can be a SigSegV, which can (one of many reasons) be due to a corrupt stack. In that case there is no stack no more. (Make sure you compile with range checking)
