This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: problem debugging assembler functions


On Tue, Jun 14, 2005 at 01:21:53PM +0400, Vladimir Prus wrote:
> Line 2285:
> 
>  if (frame_id_eq (frame_unwind_id (get_current_frame ()), step_frame_id))
>  {
>      ......
>  }

FYI, this bit...

> Line 2428:
> 
>  if (step_over_calls == STEP_OVER_UNDEBUGGABLE
>       && ecs->stop_func_name == NULL)
>   {
>        /* The inferior just stepped into, or returned to, an
>          undebuggable function (where there is no symbol, not even a
>          minimal symbol, corresponding to the address where the
>          inferior stopped). 
>         */
> 
>         ........
> 
>         insert_step_resume_breakpoint_at_frame (
>              get_prev_frame (get_current_frame ()));  
>   }

is somewhat newer than this bit.

> The condition is the second code block is taken and breakpoint is indeed
> set. I have two questions:
> 
> 1. Is "just stepped into ... function" comment accurate? I think that all
> cases of steppin into function are handled by the previous
> 
>  if (frame_id_eq (frame_unwind_id (get_current_frame ()), step_frame_id)) {}
> 
> condition, and all code paths inside that condition end with return. So, the
> second code block is not executed when we've just stepped into a function.
> Is the code intended to handle only the case when we've *returned* to
> undebuggable function?

It was intended to handle both.  Nowadays, there's a good chance it has
handled only the latter.

> 2. In my case, no function names for assembler modules are present in debug
> info, but line information is there, so the function is debuggable. Is
> there a way to check of line info in condition, not for function name?

You have line numbers, but not even minimal symbols?  That is, ELF
symbols, not DWARF2 symbols.  That's really bizarre.  We don't have a
good interface for handling functions with line numbers but no sym or
minsym, but perhaps we need one.  I agree that the presence of line
number information seems more relevant right here.

-- 
Daniel Jacobowitz
CodeSourcery, LLC


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]