<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/56806>56806</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
remote-android: unable to resolve breakpoint to any actual locations.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
guusw
</td>
</tr>
</table>
<pre>
I'm currently using lldb as a debugger for an android project, breakpoints seem to work fine to some degree, however specifying the full path to the source file causes lldb to not find the symbols. Also breaks when setting breakpoints through vscode using `vscode-lldb` extension.
I'm using a windows host and the project is built using android NDK 25.0.8775105
Here is some log & command output showing me being able to set function/partial file name breakpoints but not with the drive letter included
```plain
Console is in 'commands' mode, prefix expressions with '?'.
Executing script: initCommands
Platform: remote-android
Connected: no
Platform: remote-android
Triple: aarch64-unknown-linux-android
OS Version: 30 (4.19.157-perf+)
Hostname: localhost
Connected: yes
WorkingDir: /data/user/0/xxxxxxxxxxxxxx
Kernel: #1 SMP PREEMPT Tue Jun 28 13:33:16 CST 2022
Attached to process 22061
...
> image lookup -vn renderView
1 match found in C:\Users\xxxxxx\.lldb\module_cache\remote-android\.cache\02F9D058-5B6B-4586-C5A9-05AB2BEEA551-C7121063\libApp.so:
Address: libApp.so[0x000000000407dc2c] (libApp.so.PT_LOAD[1]..text + 6705564)
Summary: libApp.so`gfx::RendererImpl::renderView(std::__ndk1::shared_ptr<gfx::View>, std::__ndk1::vector<std::__ndk1::shared_ptr<std::__ndk1::variant<gfx::RenderDrawablesStep> >, std::__ndk1::allocator<std::__ndk1::shared_ptr<std::__ndk1::variant<gfx::RenderDrawablesStep> > > > const&) at renderer.cpp:294
Module: file = "C:\Users\xxxxxx\.lldb\module_cache\remote-android\.cache\02F9D058-5B6B-4586-C5A9-05AB2BEEA551-C7121063\libApp.so", arch = "aarch64"
CompileUnit: id = {0x00000029}, file = "/Projects/xxxxxxxxxx/build/android-25.0.8775105-arm64-android32/Debug/A:/Projects/xxxxxxxxxx/xxxx/src/gfx/renderer.cpp", language = "c++14"
Function: id = {0x014cdb7e}, name = "gfx::RendererImpl::renderView(std::__ndk1::shared_ptr<gfx::View>, std::__ndk1::vector<std::__ndk1::shared_ptr<std::__ndk1::variant<gfx::RenderDrawablesStep> >, std::__ndk1::allocator<std::__ndk1::shared_ptr<std::__ndk1::variant<gfx::RenderDrawablesStep> > > > const&)", mangled = "_ZN3gfx12RendererImpl10renderViewENSt6__ndk110shared_ptrINS_4ViewEEERKNS1_6vectorINS2_INS1_7variantIJNS_19RenderDrawablesStepEEEEEENS1_9allocatorIS9_EEEE", range = [0x0000007b9ff5ac2c-0x0000007b9ff5b878)
FuncType: id = {0x014cdb7e}, byte-size = 0, decl = renderer.cpp:294, compiler_type = "void (gfx::ViewPtr, const gfx::PipelineSteps &)"
Blocks: id = {0x014cdb7e}, range = [0x7b9ff5ac2c-0x7b9ff5b878)
LineEntry: [0x0000007b9ff5ac2c-0x0000007b9ff5ac3c): A:/Projects/xxxxxxxxxx/xxxx/src/gfx/renderer.cpp:294
Symbol: id = {0x000b52bd}, range = [0x0000007b9ff5ac2c-0x0000007b9ff5b878), name="gfx::RendererImpl::renderView(std::__ndk1::shared_ptr<gfx::View>, std::__ndk1::vector<std::__ndk1::shared_ptr<std::__ndk1::variant<gfx::RenderDrawablesStep> >, std::__ndk1::allocator<std::__ndk1::shared_ptr<std::__ndk1::variant<gfx::RenderDrawablesStep> > > > const&)", mangled="_ZN3gfx12RendererImpl10renderViewENSt6__ndk110shared_ptrINS_4ViewEEERKNS1_6vectorINS2_INS1_7variantIJNS_19RenderDrawablesStepEEEEEENS1_9allocatorIS9_EEEE"
Variable: id = {0x014cdb96}, name = "__tracy_source_location295", type = "const tracy::SourceLocationData", location = DW_OP_addr 0x7bce770, decl = renderer.cpp:295
Variable: id = {0x014cdc0b}, name = "this", type = "gfx::RendererImpl *", location = DW_OP_breg31 WSP+368, decl =
Variable: id = {0x014cdc2a}, name = "pipelineSteps", type = "const gfx::PipelineSteps &", location = DW_OP_breg31 WSP+360, decl = renderer.cpp:294
Variable: id = {0x014cdc3b}, name = "___tracy_scoped_zone", type = "ScopedZone", location = DW_OP_breg31 WSP+1152, decl = renderer.cpp:295
Variable: id = {0x014cdc4c}, name = "viewPtr", type = "gfx::View *", location = DW_OP_breg31 WSP+1144, decl = renderer.cpp:297
Variable: id = {0x014cdc5d}, name = "viewport", type = "Rect", location = DW_OP_breg31 WSP+1120, decl = renderer.cpp:299
Variable: id = {0x014cdc6e}, name = "viewSize", type = "linalg::aliases::int2", location = DW_OP_fbreg -32, decl = renderer.cpp:300
Variable: id = {0x014cdc7e}, name = "it", type = "std::__ndk1::unordered_map<const gfx::View *, std::__ndk1::shared_ptr<gfx::CachedViewData>, std::__ndk1::hash<const gfx::View *>, std::__ndk1::equal_to<const gfx::View *>, std::__ndk1::allocator<std::__ndk1::pair<const gfx::View *const, std::__ndk1::shared_ptr<gfx::CachedViewData> > > >::iterator", location = DW_OP_breg31 WSP+1096, decl = renderer.cpp:309
Variable: id = {0x014cdc8f}, name = "viewData", type = "gfx::CachedViewData &", location = DW_OP_breg31 WSP+336, decl = renderer.cpp:313
Variable: id = {0x014cdca0}, name = "viewDrawData", type = "DrawData", location = DW_OP_breg31 WSP+1280, decl = renderer.cpp:315
Variable: id = {0x014cdcb1}, name = "projMatrix", type = "linalg::aliases::float4x4", location = DW_OP_fbreg -592, decl = renderer.cpp:318
Variable: id = {
0x014cdcc2}, name = "viewBuffer", type = "gfx::DynamicWGPUBuffer &", location = DW_OP_breg31 WSP+328, decl = renderer.cpp:324
Variable: id = {0x014cdcd3}, name = "stagingBuffer", type = "vector<unsigned char, std::__ndk1::allocator<unsigned char> >", location = DW_OP_breg31 WSP+888, decl = renderer.cpp:328
> breakpoint set --file "/Projects/xxxxxxxxxx/xxxx/src/gfx/renderer.cpp" --line 297
Breakpoint 29: where = libApp.so`gfx::RendererImpl::renderView(std::__ndk1::shared_ptr<gfx::View>, std::__ndk1::vector<std::__ndk1::shared_ptr<std::__ndk1::variant<gfx::RenderDrawablesStep> >, std::__ndk1::allocator<std::__ndk1::shared_ptr<std::__ndk1::variant<gfx::RenderDrawablesStep> > > > const&) + 552 at renderer.cpp:297:26, address = 0x0000007b9ff5ae54
> breakpoint set --file "renderer.cpp" --line 297
Breakpoint 30: where = libApp.so`gfx::RendererImpl::renderView(std::__ndk1::shared_ptr<gfx::View>, std::__ndk1::vector<std::__ndk1::shared_ptr<std::__ndk1::variant<gfx::RenderDrawablesStep> >, std::__ndk1::allocator<std::__ndk1::shared_ptr<std::__ndk1::variant<gfx::RenderDrawablesStep> > > > const&) + 552 at renderer.cpp:297:26, address = 0x0000007b9ff5ae54
> breakpoint set --file Projects\\xxxxxxxxxx\\xxxx\\src\\gfx\\renderer.cpp --line 297
Breakpoint 31: where = libApp.so`gfx::RendererImpl::renderView(std::__ndk1::shared_ptr<gfx::View>, std::__ndk1::vector<std::__ndk1::shared_ptr<std::__ndk1::variant<gfx::RenderDrawablesStep> >, std::__ndk1::allocator<std::__ndk1::shared_ptr<std::__ndk1::variant<gfx::RenderDrawablesStep> > > > const&) + 552 at renderer.cpp:297:26, address = 0x0000007b9ff5ae54
> breakpoint set --file A:\\Projects\\xxxxxxxxxx\\xxxx\\src\\gfx\\renderer.cpp --line 297
Breakpoint 32: no locations (pending).
WARNING: Unable to resolve breakpoint to any actual locations.
> breakpoint set --file "A:\\Projects\\xxxxxxxxxx\\xxxx\\src\\gfx\\renderer.cpp" --line 297
Breakpoint 33: no locations (pending).
WARNING: Unable to resolve breakpoint to any actual locations.
> breakpoint set --file 'A:\\Projects\\xxxxxxxxxx\\xxxx\\src\\gfx\\renderer.cpp' --line 297
Breakpoint 34: no locations (pending).
WARNING: Unable to resolve breakpoint to any actual locations.
breakpoint set --file A:/Projects/xxxxxxxxxx/xxxx/src/gfx/renderer.cpp --line 297
Breakpoint 24: no locations (pending).
WARNING: Unable to resolve breakpoint to any actual locations.
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztWltz27YS_jXyC0YaEhQvetCDbm7dJI7GcuKZvmhAEJJYQyQLgJbVX98FQN1c6pbm5GSm5ti8AIvFt4sPuyCoOE_W3bsGDpeIlkKwTPE1KmWazRHnSYyIRAQlLC7ncybQLBeIZPCXiDxNUCHyPxhVDTxAsWDkucjTTEkkGVsilaNVLp7RLM2YfpD5koGiuWBMyy_yFXsBjbJgNJ2tdX9qwdCs5BwVRC10E10g81JQKE85Q5SUkkmLC6qzXGntiZVbL-OcyxbqcZlbNBKtFiwDNEpp9fsI1ULk5XyBXiTNE1bZ2wgc-9zUPcATYq-KZTLNs1bDGTacnj1bb9k2BK0AQb6SYJBU2jEGTeUYlEoUlylXG-nKb_fDDwj7LacVhaHvOv6-9l-ZYLqd8RfPARYOEM2XS607L1VRKiTBe1ofSMTMKI65dTIDl5QZVYC5gW8LIlRKuPVeRrT4nhNi0KR9uEq1uwF1ItIX6BP8BQOTZpSXCUv2sYFP7F_BSZrZskGeyZwbyGkGYMMKq4RbtARv6tEuBJulr-BPuJHaodL2CjIN7xbOlYNHr4yWZrQkFWmhGl4PtKZqsNFppBAac6KAi0tdL9gyV6xZ-baSAFQZDADAB4ksv7gdHI_QMWdaghBBF0G7WWbPWb7KmjzNytfDBp8n6CsT2iLdwHPAoqjdcjst1w-bBROzBu43cGej_VcgiR4HLcxzSrhmTR3kNatsfYI5BP4YpkIXw5gmRBG4wEwQcHHg__Xg2BnygYmMcdvMc9Hk0xiNH0ajT-NH9Fgy9FuZIRwh1wMJT5_cAA0mjwg7GFslPaUIXbBEMwsYTWHoEMZO4O5zotU6mBwNb4TSJZlr7ubPZYGaLxm4OkuY-JqylRVy0ZIouoBwUgKpgTYD6L7hD76AURKulSX-oGVmoj8AHpWcTamGA49vhg7kNjUOvu0MHT9q-v2g32z7UdAc-L1O0_F7fdwfjXq-7zYHoYtdJ_BAnqdxryhaMtcAtp7TRy9JNFfNSG2F_L7z6myOthMmFNOGP9SjvhVqjR-nHz_3hiDsQl2rpSCMgEQfBaHj-0F7jw_2mJTAbrE-7Cpw5rNXjcrrPRj3MXG3LLgt2XMojqRKbOl0miXPrr2XCyJYMi0U8Gaw1WRaeCM9JWtbvQABc93ivM769kSkJFP7XVrwQ0FWOkjJiWKF5sgpFITrufHjgGz_KQQmyGYBjBAiqqItEy1agGgPd9qH44Y-GVrqcTMRtuFpJuCfgMwwg8G5OnxtQFWxrLGZ2xo-RNUCcH-BAGsCbWKFwy3JgajhUGvaNw8iztimN3kQfOBB57oErpUtzf0c1yRiCbG0qvK0mqFeVsBVj84JrdVFCgpnPZz49mBkrLGcZPNSx50KJjWRt-8emgzH7SY_vjXZbdMkDlllskmXla73mfh_nInV-EL-n3OWbIZk-vu9BwpdvD8krrMbjtH9RAUWiOvsYN7dT6ZtUz8aPXy4n7jTwLoaKvD0TheEFeS730DW7dSgHZlDy3a2HrqbdKa6tIIrAG7Fn13SCOPObOYTSBrNw6I4CqO3aUHz9HFdsDM8jdcQPGT6l-3M0UUJo9w81QQwqKZ22oupAu0bf77odSlQ-ICgYxhW0wAGA21rxmnBYCnEtCck2g3SYWzsg1-e5Rnwb7x04J-jnvkIfY8yZRPmJd4l1KNaB4j_y1BTlwQm5s2jJoDGPo6TekMvpEMVhqDZexD6mYKQHZCfOgTtc_SrVhbzI5GkE9RkvOlUCULXU_v6PTUdQM7EHb_yxH7ssPHBNLC-nZhWH6tGQ_PGYpN0VWRaDp-mn8dTAutspGc7ZWF4Jnz5l5tFnbjGLLVIZY0BtVMLKnrHYcOL9Bxeqp4mY1hkeEG0D_wKlJjUoCz2A-xRf5-KxxeiPpstLjfEq3P3dEsjmhdA_r_yjNXYMzG1v-8qzyF3XR9_P6a0aQ30l036O04WPYWvIInrttunQYdXgPaTI6CLXKga1A9mn-5CoPgMMTpXAA3qFtQa6ATWLDVAgcmEzzeRPyWSSfuQZgoft2CmTUBN7yQvPMe5Anntq0Ba59zanFNmudCdJ9Mlgc4Hb2btjj1H0l59yh6YHRnd2ITVE2lzQeTiRLcnWrI_S8KnKv-21mfTdUH0ZtYx1VXS_XdO2U_jFXsUEwbUhXPAgbR4kknXzIFodmQO7KXG2hBzaNg1sd07Dd_1roBPnGPwYUVyxIQ3VWf9jaOTMcdzr4nosVuXVWHN_4kokb5eE3VmPCeq_do-G3n8zunQ40YXGLC_k7oxhuIj3u-Xsxk7maGGa2iT0qdfxl-s8DUMwtFJe_A1q4PEq7FBKjJPs_lRM7ZvH2Um03kG7_4UZv9Fceewxeb94iK7o-iM3dFuo3v3NcV8eWk27T7ZyT2y87tZoEcv59B2QdDfdWPfYlcL_ZFIo3vfL74k4_yI_WK9we_7uHbfONRnE5CJ_apg92oOtwGY3377IeUov65gjOe8M-a_zphtLPIH2w8S1UeJ6tne6aBkbrRJ5mYf2EmWue8s-6-zzOytGtb8j_j2T9bhhvm8v03qevsjKkAHrCvA-OrL9FPv4f7u_hcti75km99KgL05f9n_SYQuJdkaEargBWintHVBRP7extdF9X_a7_0s9off3_7wZLxp_1DLzfkE6795uXdyrfdjbdz8tueGdd3A77iOg4PgJul6ScfrkBuVKs66bz5WQ5_lt3R5UwreXShVSOs97ZtULcq4RfMlPHD-srk0tz8yu02lLJn2sB9ETnCz6MbxLCaUOdTxoqSDA9yJsOf41Ini2SwJ8A0nMeOy2_D7MJ8ytkJGhV6g-8ObtKt_6uKEuON6ruu0WzMS-YzOiMMSh8VJ2Gg7bElS3tI4WrmY34iugRSXcwmVPJVK7iqJNC8dzHQH-kmpFrnozstSrm5Mx10D_G_LCe2z">