You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've been experimenting with compiling using Mingw-w64 GCC then converting DWARF to PDB using cv2pdb (plus my patch to build with newer Visual Studio) so that I can debug using RemedyBG. To my amazement it actually works with both RemedyBG and Visual Studio. Except that it only works in RemedyBG if the source path is a certain length, something like length%4 == 3. I initially suspected cv2pdb was at fault, except that so far it's always worked in Visual Studio regardless of the source path length.
I can reproduce it using the simplest possible program:
intmain(void) { return0; }
Put this in C:\example\main.c, build with Mingw-w64 (in case it helps with reproduction, I'm using my toolchain configuration here), generate a PDB, then run in RemedyBG:
When I hit F10 it goes straight into the disassembly window, and even if I manually open the source it doesn't associate it with debugging. With Visual Studio it works just as I expect:
devenv example.exe
The source path is C:\example\main.c, which is 17 characters long. Rename main.c to mainxx.c to make that 19 (19%4 == 3) or even mainxxxxxx.c (23%4 == 3):
Now when I hit F10 in RemedyBG it takes me to the source file as I expect.
I spent quite awhile trying to figure out why certain programs worked while others didn't. Eventually I noticed the program itself didn't matter, but rather where I built it, ultimately narrowing it down to source path length. I still suspect cv2pdb may actually be at fault and that Visual Studio is just more flexible about locating the source in the face of a bogus PDB path.
The text was updated successfully, but these errors were encountered:
Similar setup here, please get this fixed soon (or maybe it actually is a cv2pdb bug?).
(Apparently I was very lucky to always randomly have compatible path lengths until cleanup today, so thanks @skeeto for the workaround, would have never guessed that myself, cheers.)
I've been experimenting with compiling using Mingw-w64 GCC then converting DWARF to PDB using cv2pdb (plus my patch to build with newer Visual Studio) so that I can debug using RemedyBG. To my amazement it actually works with both RemedyBG and Visual Studio. Except that it only works in RemedyBG if the source path is a certain length, something like
length%4 == 3
. I initially suspectedcv2pdb
was at fault, except that so far it's always worked in Visual Studio regardless of the source path length.I can reproduce it using the simplest possible program:
Put this in
C:\example\main.c
, build with Mingw-w64 (in case it helps with reproduction, I'm using my toolchain configuration here), generate a PDB, then run in RemedyBG:When I hit F10 it goes straight into the disassembly window, and even if I manually open the source it doesn't associate it with debugging. With Visual Studio it works just as I expect:
The source path is
C:\example\main.c
, which is 17 characters long. Renamemain.c
tomainxx.c
to make that 19 (19%4 == 3
) or evenmainxxxxxx.c
(23%4 == 3
):Now when I hit F10 in RemedyBG it takes me to the source file as I expect.
I spent quite awhile trying to figure out why certain programs worked while others didn't. Eventually I noticed the program itself didn't matter, but rather where I built it, ultimately narrowing it down to source path length. I still suspect
cv2pdb
may actually be at fault and that Visual Studio is just more flexible about locating the source in the face of a bogus PDB path.The text was updated successfully, but these errors were encountered: