Description
Hi! I cannot figure out a reason of not working of 'step-avoid-regexp' for my executable, so created this issue.
Preconditions:
lldb version 16.0.6
python 3.10 x64
LLDB_USE_NATIVE_PDB_READER=1
If LLDB_USE_NATIVE_PDB_READER=1
is not set lldb crashes on, for example, "fr v".
I unsuccessfully tried to find out why
msdia140.dll
fails by procmon. So decided to switch to native pdb reader.
I compile with msvc
and use /Ob1
to avoid inlining, and doublechecked source files are correctly opened when reached a breakpoint.
Typical compilation command (extra options removed)
cl.exe /MDd /external:W0 /external:templates- /DUNICODE /D_UNICODE /Od /c path/to/source/file.cpp /nologo /Z7 /bigobj /Zc:forScope /Zc:inline /Zc:wchar_t /fp:precise /D_CRT_NONSTDC_NO_WARNINGS /D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS /D_SCL_SECURE_NO_WARNINGS /DWIN32 /D_WINDOWS /D_WINSOCK_DEPRECATED_NO_WARNINGS /DWINVER=0x0600 /D_WIN32_WINNT=0x0600 /DNTDDI_VERSION=0x06000000 /W3 /guard:cf /GR- /EHsc /guard:ehcont /source-charset:windows-1251 /execution-charset:windows-1251 /Oy- **/Ob1** /WX /wd4996 /wd4117 -D__DATE__="redacted" /RTC1
Launching and configuration:
lldb.exe proc.exe
> settings set target.source-map . F:/prj/mono/src
> settings set target.process.thread.step-avoid-regexp ^.*(std::|boost::).*$
> b main
> r
> si
But anyway step-into falls to std::
and boost::
functions which I expect should not happen.
Even more: if I set regexp=.* nothing changed.
- Is this behaviour expected?
- May this happen because of preconditions (especially
LLDB_USE_NATIVE_PDB_READER=1
)? - Any recommendation or workarounds?
TY