|
From: Felix S. <fel...@we...> - 2008-12-31 11:12:13
|
this is the code fragment:
73 VG_(thread_stack_next)(&thread, &s_min, &s_max);
74 if(addr >= s_min && addr <= s_max)
75 {
76 // stack
79 } else {
80 // heap or bss
81 }
I try to get stack boundaries. Then I want to decide if the given
address a stack address or a heap rather bss address.
I think the +1 falsify the result. Wrong stack boundaries are supposed.
(may be the stack boundaries of current thread +1)
i wish you all a happy new year!
fs
Bart Van Assche schrieb:
> On Tue, Dec 30, 2008 at 2:54 PM, Felix Schmidt <fel...@we...> wrote:
>
>> maybe I found an error in m_machine.c.
>> In line 248: for (i = (*tid)+1; ....
>> Why stands there a +1? I think this is a bug
>>
>
> If you are looking at this code, this is probably because you are
> using VG_(thread_stack_reset_iter)() and VG_(thread_stack_next)() ? It
> would help if you could post the code that calls these functions.
>
> Bart.
>
>
|