rainers / cv2pdb

converter of DMD CodeView/DWARF debug information to PDB files
Artistic License 2.0
466 stars 110 forks source link

Absolute path to the .pdb file #45

Closed tim-lebedkov closed 5 years ago

tim-lebedkov commented 5 years ago

cv2pdb writes the absolute path to the .pdb file in the "debug/CodeView" section. If I copy the executable to a target computer, Process Explorer cannot find the .pdb file.

Could you please use the relative file name or the file name provided on the command line?

BTW, the fix for #40 works in Process Explorer and Very Sleepy, but not in AMD uProf. Something is probably still missing.

rainers commented 5 years ago

cv2pdb writes the absolute path to the .pdb file in the "debug/CodeView" section. If I copy the executable to a target computer, Process Explorer cannot find the .pdb file.

Could you please use the relative file name or the file name provided on the command line?

The absolute file name is deliberately used because it has a number of advantages:

Most debuggers I know load the pdb file if it is copied into the same directory as the executable. In addition they allow specification of a search path, setting _NT_SYMBOL_PATH might also help.

BTW, the fix for #40 works in Process Explorer and Very Sleepy, but not in AMD uProf. Something is probably still missing.

Can't do much without more details.

tim-lebedkov commented 5 years ago

I tested additionally with WinDbg and VerySleepy and both can find the .pdb file in the .exe directory.

Process Explorer is pretty important to me. Could you add an option for this?

rainers commented 5 years ago

Just noticed that cv2pdb has option -p<embedded-pdb>. Isn't this what you are looking for?

BTW: Process Explorer allows to set a search path for symbol files, too.

tim-lebedkov commented 5 years ago

I tested the executables with -p and without -p. Very Sleepy and WinDbg can find the .pdb file in both cases. Process Explorer can't find the .pdb until I add the directory to the search path for the symbols.

You can close this issue. I do not need any changes in the program.

If possible, please change the cv2pdb usage output so that it says -p\<embedded-pdb> instead of usage: cv2pdb [-Dversion|-C|-n|-e|-sC|-pembedded-pdb] [new-exe-file] [pdb-file]

The README does not show the -p option.

rainers commented 5 years ago

I updated the program help output and the README.