There is a bug in lldb-vscode that only shows stop reason ("exception") in
stopped event without showing the stop description of thrown exception. This
causes VSCode UI to only show "Paused on Exception" general message in
callstack window UI.
This patch fixes the bug so that VSCode callstack will show the detailed
exceptioni description, like "signal SIGABRT" or "EXC_BAD_ACCESS..." which
aligns with command line lldb experience.
I use C++ exception in testcase because the hardware exception description is
platform dependent and hard to verify.
Differential Revision: https://reviews.llvm.org/D136295
25 lines
660 B
Python
25 lines
660 B
Python
"""
|
|
Test exception behavior in VSCode
|
|
"""
|
|
|
|
|
|
from lldbsuite.test.decorators import *
|
|
from lldbsuite.test.lldbtest import *
|
|
import lldbvscode_testcase
|
|
|
|
|
|
class TestVSCode_exception(lldbvscode_testcase.VSCodeTestCaseBase):
|
|
|
|
@skipIfWindows
|
|
def test_stopped_description(self):
|
|
'''
|
|
Test that exception description is shown correctly in stopped
|
|
event.
|
|
'''
|
|
program = self.getBuildArtifact("a.out")
|
|
print("test_stopped_description called", flush=True)
|
|
self.build_and_launch(program)
|
|
|
|
self.vscode.request_continue()
|
|
self.assertTrue(self.verify_stop_exception_info("signal SIGABRT"))
|