authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-08-28 18:55:51-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-08-28 18:55:51-04:00
log833477abf5a7df2c8861a2df11fae2105016e087
tree7e9a842a7331433fa21d4850245ee01965fbada2
parent41723f842c713af5e78a120c374732671a3317c2

fix unresolved path preventing PDB loading


1 files changed, 8 insertions(+), 4 deletions(-)

std/debug/index.zig+8-4
...@@ -393,15 +393,19 @@ fn openSelfDebugInfoWindows(allocator: *mem.Allocator) !DebugInfo {...@@ -393,15 +393,19 @@ fn openSelfDebugInfoWindows(allocator: *mem.Allocator) !DebugInfo {
393393
394 try coff_file.loadHeader();394 try coff_file.loadHeader();
395395
396 var path: [windows.MAX_PATH]u8 = undefined;396 var path_buf: [windows.MAX_PATH]u8 = undefined;
397 const len = try coff_file.getPdbPath(path[0..]);397 const len = try coff_file.getPdbPath(path_buf[0..]);
398 std.debug.warn("pdb path {}\n", path[0..len]);398 const raw_path = path_buf[0..len];
399 std.debug.warn("pdb raw path {}\n", raw_path);
400
401 const path = try os.path.resolve(allocator, raw_path);
402 std.debug.warn("pdb resolved path {}\n", path);
399403
400 var di = DebugInfo{404 var di = DebugInfo{
401 .pdb = undefined,405 .pdb = undefined,
402 };406 };
403407
404 try di.pdb.openFile(allocator, path[0..len]);408 try di.pdb.openFile(allocator, path);
405409
406 var pdb_stream = di.pdb.getStream(pdb.StreamType.Pdb) orelse return error.InvalidDebugInfo;410 var pdb_stream = di.pdb.getStream(pdb.StreamType.Pdb) orelse return error.InvalidDebugInfo;
407 std.debug.warn("pdb real filepos {}\n", pdb_stream.getFilePos());411 std.debug.warn("pdb real filepos {}\n", pdb_stream.getFilePos());