summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/lldbutil.py
diff options
context:
space:
mode:
authorAleksandr Urakov <aleksandr.urakov@jetbrains.com>2018-12-03 13:31:13 +0000
committerAleksandr Urakov <aleksandr.urakov@jetbrains.com>2018-12-03 13:31:13 +0000
commita5235af980e55774882d6567fa1ca94caaf24ce6 (patch)
tree8b6b7b45455d5f32d67748fabdd1b16f5c7827af /lldb/packages/Python/lldbsuite/test/lldbutil.py
parentf1822ec431cded5e50b69152346794d79976a8b2 (diff)
downloadbcm5719-llvm-a5235af980e55774882d6567fa1ca94caaf24ce6.tar.gz
bcm5719-llvm-a5235af980e55774882d6567fa1ca94caaf24ce6.zip
[PDB] Support PDB-backed expressions evaluation (+ fix stuck test)
Summary: This patch contains several small fixes, which makes it possible to evaluate expressions on Windows using information from PDB. The changes are: - several sanitize checks; - make IRExecutionUnit::MemoryManager::getSymbolAddress to not return a magic value on a failure, because callers wait 0 in this case; - entry point required to be a file address, not RVA, in the ObjectFilePECOFF; - do not crash on a debuggee second chance exception - it may be an expression evaluation crash. Also fix detection of "crushed" threads in tests; - create parameter declarations for functions in AST to make it possible to call debugee functions from expressions; - relax name searching rules for variables, functions, namespaces and types. Now it works just like in the DWARF plugin; - fix endless recursion in SymbolFilePDB::ParseCompileUnitFunctionForPDBFunc. Reviewers: zturner, asmith, stella.stamenova Reviewed By: stella.stamenova, asmith Tags: #lldb Differential Revision: https://reviews.llvm.org/D53759 llvm-svn: 348136
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/lldbutil.py')
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbutil.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/lldbutil.py b/lldb/packages/Python/lldbsuite/test/lldbutil.py
index d8dd67653e1..16950d7b5cd 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbutil.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbutil.py
@@ -736,6 +736,8 @@ def is_thread_crashed(test, thread):
elif test.getPlatform() == "linux":
return thread.GetStopReason() == lldb.eStopReasonSignal and thread.GetStopReasonDataAtIndex(
0) == thread.GetProcess().GetUnixSignals().GetSignalNumberFromName("SIGSEGV")
+ elif test.getPlatform() == "windows":
+ return "Exception 0xc0000005" in thread.GetStopDescription(100)
else:
return "invalid address" in thread.GetStopDescription(100)
OpenPOWER on IntegriCloud