<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - lld-link puts non-canonical paths in debug information which confuses the VS debugger"
href="https://bugs.llvm.org/show_bug.cgi?id=40569">40569</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>lld-link puts non-canonical paths in debug information which confuses the VS debugger
</td>
</tr>
<tr>
<th>Product</th>
<td>lld
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Windows NT
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>enhancement
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>COFF
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>brucedawson@chromium.org
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr></table>
<p>
<div>
<pre>When building Chrome binaries on Windows the debug information contains a
mixture of slashes, backslashes, and directory traversal characters, like this:
c:\src\chromium3\src>"c:\Program Files (x86)\Windows
Kits\10\Debuggers\x64\srcsrv\srctool.exe" -r out\default\base_unittests.exe.pdb
| find /i "run_all"
c:/src/chromium3/src/out/default\..\..\base\test\run_all_base_unittests.cc
windbg doesn't mind this (it finds the source files without difficulty) but VS
brings up the "Find Source" dialog. Once you find one source file it will
generally find all, and you can add source directory to your project files, but
none of this should be necessary.
We could file bugs against VS but it is probably better to see if
canonicalizing the paths in the debug information will make VS behave better.
I did my testing with no gn args (other than use_goma=true to accelerate
testing), building base_unittests. I tried setting msvc_use_absolute_paths =
true but that made no difference.
I tried building with use_lld=false and that avoided the problem.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>