[lldb-dev] [Bug 26265] New: [Windows] Evaluating arguments gives incorrect values except for frame 0

via lldb-dev lldb-dev at lists.llvm.org
Fri Jan 22 14:58:37 PST 2016


https://llvm.org/bugs/show_bug.cgi?id=26265

            Bug ID: 26265
           Summary: [Windows] Evaluating arguments gives incorrect values
                    except for frame 0
           Product: lldb
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: lldb-dev at lists.llvm.org
          Reporter: amccarth at google.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

TextConditionalBreak.py fails on Windows when trying to evaluate a function
argument in frame 1.

Manual experiments indicates this is problem for arguments in any frame other
than frame 0.  This is observable in expression and backtraces.

(lldb) thread backtrace
* thread #1: tid = 0x1144, 0x0112b08a a.out`c(val=3) + 10 at main.c:39, stop
reason = breakpoint 2.1
  * frame #0: 0x0112b08a a.out`c(val=3) + 10 at main.c:39
    frame #1: 0x0112b03e a.out`a(val=4586500) + 62 at main.c:27
    frame #2: 0x0112b12b a.out`main(argc=0, argv=0x0045fc04) + 139 at main.c:50
    frame #3: 0x0112b88f a.out`$LN27 + 224

Note that the correct value for val in frame #0 is correct (3), but incorrect
in frame #1.

(lldb) thread step-out
(lldb) Process 9808 stopped
* thread #1: tid = 0x1144, 0x0112b03e a.out`a(val=3) + 62 at main.c:27, stop
reason = step out
    frame #0: 0x0112b03e a.out`a(val=3) + 62 at main.c:27
   24       if (val <= 1)
   25           return b(val);
   26       else if (val >= 3)
-> 27           return c(val); // Find the line number where c's parent frame
is a here.
   28
   29       return val;
   30   }
thread back
* thread #1: tid = 0x1144, 0x0112b03e a.out`a(val=3) + 62 at main.c:27, stop
reason = step out
  * frame #0: 0x0112b03e a.out`a(val=3) + 62 at main.c:27
    frame #1: 0x0112b12b a.out`main(argc=3, argv=0x00000003) + 139 at main.c:50
    frame #2: 0x0112b88f a.out`$LN27 + 224

After stepping back out to what was frame #1, and val is now correctly shown.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20160122/978e0257/attachment.html>


More information about the lldb-dev mailing list