Files
clang-p2996/lldb/test/API/functionalities/target_var/TestTargetVar.py
Med Ismail Bennani 7177e63fb5 [lldb/Core] Fix crash in ValueObject::CreateChildAtIndex
The patch fixes a crash in ValueObject::CreateChildAtIndex caused by a
null pointer dereferencing. This is a corner case that is happening when
trying to dereference a variable with an incomplete type, and this same
variable doesn't have a synthetic value to get the child ValueObject.

If this happens, lldb will now return a null pointer that will results
in an error message.

rdar://65181171

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
2020-07-07 20:37:13 +02:00

25 lines
840 B
Python

"""
Test that target var can resolve complex DWARF expressions.
"""
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
class targetCommandTestCase(TestBase):
mydir = TestBase.compute_mydir(__file__)
@skipUnlessDarwin
@skipIfDarwinEmbedded # needs x86_64
@skipIf(debug_info="gmodules") # not relevant
@skipIf(compiler="clang", compiler_version=['<', '7.0'])
def testTargetVarExpr(self):
self.build()
lldbutil.run_to_name_breakpoint(self, 'main')
self.expect("target variable i", substrs=['i', '42'])
self.expect("target variable var", patterns=['\(incomplete \*\) var = 0[xX](0)*dead'])
self.expect("target variable var[0]", error=True, substrs=["can't find global variable 'var[0]'"])