[Gambas-devel] gb3 stack backtrace and Unknown symbol

Benoît Minisini gambas at ...1...
Sat Jan 9 12:49:09 CET 2010


> Instructions for replicating what I describe here are contained in
> Module2.module of the attached code. When you follow those
> instructions you will find additional steps documented in
> Module1.module.
> 
> When debugging code execution across multiple modules it is not
> possible to inspect the values of variables in a routine of another
> module if you select the module by clicking on the module's tab in the
> IDE. Gambas issues an "Unknown symbol" message when you try to insect
> a variable, even if the routine in the module is an active part of the
> current trace.
> 
> The only way to get at the variables in another module is to
> double-click on the relevant method or routine in the stack backtrace
> window, even if the module window is already open in another tab. When
> you double-click on the relevant method or routine in the stack
> backtrace window, you can't go back to the previous module by clicking
> on the module's tab in the IDE and still see the variables for that
> module because gb3 now issues "Unknown symbol" messages for that
> module instead. Again, you must double-click the previous
> module.methodname in the stack backtrace window, despite the module's
> code window already being open in another tab.
> 
> Is this behaviour by design?
> 

Yes, like in any debugger: local variables are stored in the stack. Knowing 
which routine you want to inspect is not enough, you must know the stack 
context. Think about recursive routines, for example.

So clicking on the source code window is not enough. You must tell the 
debugger the stack context by clicking in the stack backtrace window. 
Otherwise it would be ambiguous.

Regards,

-- 
Benoît Minisini




More information about the Devel mailing list