<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">