You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
lldb-mi.exe under E:\llvm14\bin\, and source file under K:\Work\cmaketest\hello.c, mingw crt source under E:\Source\git\mingw-w64\mingw-w64-crt, the -stack-list-frames result is
CMICmnLLDBDebugSessionInfo::ResolvePath method will check path is accessible.
When the source file E:\Source\git\mingw-w64\mingw-w64-crt\crt\crtexe.c and the lldb-mi startup path are in the same partition, the last detected path is /Source/git/mingw-w64/ mingw-w64-crt/crt/crtexe.c,
then will put drive letter before path and return it.
But if the source file K:\Work\cmaketest\hello.c and lldb-mi startup path are not in the same partition, /Work/cmaketest/hello.c is not accessible, then will test next path/K:/Work/cmaketest/hello.c and return it.
CMICmnLLDBDebugSessionInfo::ResolvePath has another problem, it also returns the wrong path if the parent directory contains a file with the same name as the source file. For example, my source file path is K:\Work\cmaketest\hello.c. If there is a file in K:\hello.c at this time, according to the current algorithm, /hello.c can be accessed, will directly return K:/hello.c.
The text was updated successfully, but these errors were encountered:
SquallATF
changed the title
Incorrect fullname under windows when lldb-mi and the source code are not in the same partition
Incorrect fullname under windows when lldb-mi startup path and source path are not in the same partition
Apr 22, 2022
lldb-mi.exe under
E:\llvm14\bin\
, and source file underK:\Work\cmaketest\hello.c
, mingw crt source underE:\Source\git\mingw-w64\mingw-w64-crt
, the-stack-list-frames
result iswhen I start
lldb-mi.exe
fromC:\
, the-stack-list-frames
changed to-stack-list-frames
returned by gdbCMICmnLLDBDebugSessionInfo::ResolvePath
method will check path is accessible.When the source file
E:\Source\git\mingw-w64\mingw-w64-crt\crt\crtexe.c
and the lldb-mi startup path are in the same partition, the last detected path is/Source/git/mingw-w64/ mingw-w64-crt/crt/crtexe.c
,lldb-mi/src/MICmnLLDBDebugSessionInfo.cpp
Line 339 in 2388bd7
bYesAccessible
is truelldb-mi/src/MICmnLLDBDebugSessionInfo.cpp
Lines 340 to 344 in 2388bd7
then will put drive letter before path and return it.
But if the source file
K:\Work\cmaketest\hello.c
and lldb-mi startup path are not in the same partition,/Work/cmaketest/hello.c
is not accessible, then will test next path/K:/Work/cmaketest/hello.c
and return it.CMICmnLLDBDebugSessionInfo::ResolvePath
has another problem, it also returns the wrong path if the parent directory contains a file with the same name as the source file. For example, my source file path isK:\Work\cmaketest\hello.c
. If there is a file inK:\hello.c
at this time, according to the current algorithm,/hello.c
can be accessed, will directly returnK:/hello.c
.The text was updated successfully, but these errors were encountered: