[lldb-dev] [Bug 25070] New: SBThread::ReturnFromFrame does not work

via lldb-dev lldb-dev at lists.llvm.org
Tue Oct 6 04:25:28 PDT 2015


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

            Bug ID: 25070
           Summary: SBThread::ReturnFromFrame does not work
           Product: lldb
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: All Bugs
          Assignee: lldb-dev at lists.llvm.org
          Reporter: berykubik at gmail.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

Created attachment 15010
  --> https://llvm.org/bugs/attachment.cgi?id=15010&action=edit
C++ source with test program

I'm using lldb 3.8 compiled from trunk, but I also experienced this issue in
lldb-3.6.

When I use SBThread::ReturnFromFrame when in a C++ function that returns some
value, the SBValue doesn't get set, even though no error is returned. Is this
function currently implemented?
https://github.com/llvm-mirror/lldb/blob/f2d745d54e1903f72190f767633af481f61ff0c2/source/Target/Thread.cpp#L1921
seems to imply that it's not.

Example script (I attached the C++ source test.cpp):

import lldb
import os
import time

debugger = lldb.SBDebugger.Create()
target = debugger.CreateTarget("./test")
target.BreakpointCreateByLocation("test.cpp", 3)
process = target.LaunchSimple([], [], os.getcwd())

time.sleep(1) # wait for bp to be hit

thread = process.GetSelectedThread()
frame = thread.GetSelectedFrame()
value = lldb.SBValue()
error = thread.ReturnFromFrame(frame, value)
# error is marked as sucesss, but value contains nothing

-- 
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/20151006/aa664f89/attachment.html>


More information about the lldb-dev mailing list