<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>I worked this out. Even though I passed CFLAGS and CXXFLAGS to the ./autogen.sh or ./configure call in the root directory, it seems like the gpg4win build process didn't pass the flags to the package builds.</div><div><br></div><div>I manually modified <span style="font-family:monospace,monospace">src/playground/build/gpgme-1.12.1-beta43-build/src/Makefile</span> and changed these flags:</div><div><br></div><div>CFLAGS: Added <span style="font-family:monospace,monospace">-gdwarf -O0</span></div><div><span style="font-family:monospace,monospace"><font face="arial,helvetica,sans-serif">CXXFLAGS: Changed </font>-O2<font face="arial,helvetica,sans-serif"> to </font>-gdwarf -O0</span><br></div><div><br></div><div>Then I re-ran <span style="font-family:monospace,monospace">make</span>, and ran the resulting .dll through cv2pdb. Now the debug symbols appear to be working in Visual Studio, although I haven't had time to actually try and debug an issue yet.<br></div><div><br></div><div><a href="https://d.sb/2019/02/devenv_05-23.01.28.png">https://d.sb/2019/02/devenv_05-23.01.28.png</a><br></div><div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><span style="font-size:12.8px">--</span><br style="font-size:12.8px"><span style="font-size:12.8px">Regards,</span><br style="font-size:12.8px"><span style="font-size:12.8px">Daniel Lo Nigro</span><br style="font-size:12.8px"><a href="https://d.sb/" style="font-size:12.8px" target="_blank">https://d.sb/</a><span style="font-size:12.8px"> | </span><a href="http://twitter.com/Daniel15" style="font-size:12.8px" target="_blank">Twitter</a><span style="font-size:12.8px"> | </span><a href="http://www.facebook.com/daaniel" style="font-size:12.8px" target="_blank">Facebook</a><br></div></div></div><br></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 5, 2019 at 10:14 AM Daniel Lo Nigro <<a href="mailto:d@d.sb">d@d.sb</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Hey Andre, thanks for your reply. I also managed to compile my own version, however both my build and your build seem to be missing the debug symbols for libgpgme itself. I was trying to use a tool called "cv2pdb" (<a href="https://github.com/rainers/cv2pdb" target="_blank">https://github.com/rainers/cv2pdb</a>) to convert the debug symbols into a PDB file that Visual Studio can use, however it didn't work properly, and its author said that the library is missing the symbols:</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>There is only debug information for the mingw runtime in the original DLL. You can check by dumping the output of `objdump.exe -W libgpgme-11-original.dll` and searching for `DW_TAG_compile_unit`.<br><br>I guess something went wrong when building a debug version of that DLL.<br></div></blockquote><div><br></div><div>See <a href="https://github.com/rainers/cv2pdb/issues/50" target="_blank">https://github.com/rainers/cv2pdb/issues/50</a></div><div><br></div><div>Is there some build step that is unintentionally stripping out symbols from the object files before linking, or something like that? I don't write any C or C++ so I'm unfamiliar with the build processes.<br></div><div><br></div><div><div><div dir="ltr" class="gmail-m_-4212575807836814163gmail_signature"><div dir="ltr"><span style="font-size:12.8px">--</span><br style="font-size:12.8px"><span style="font-size:12.8px">Regards,</span><br style="font-size:12.8px"><span style="font-size:12.8px">Daniel Lo Nigro</span><br style="font-size:12.8px"><a href="https://d.sb/" style="font-size:12.8px" target="_blank">https://d.sb/</a><span style="font-size:12.8px"> | </span><a href="http://twitter.com/Daniel15" style="font-size:12.8px" target="_blank">Twitter</a><span style="font-size:12.8px"> | </span><a href="http://www.facebook.com/daaniel" style="font-size:12.8px" target="_blank">Facebook</a><br></div></div></div><br></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 5, 2019 at 2:40 AM Andre Heinecke <<a href="mailto:aheinecke@gnupg.org" target="_blank">aheinecke@gnupg.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
On Monday, February 4, 2019 9:28:55 AM CET Daniel Lo Nigro wrote:<br>
> In that case, is there a pre-compiled version with GDB debug symbols<br>
> available? I should be able to attach GDB instead of Visual Studio and at<br>
> least get a stack trace of where the error is being thrown in the native<br>
> library.<br>
<br>
I would not be so sure, I had bad experiences using GDB in the past on <br>
Windows. But you can of course try. Our code is compiled with gcc / mingw from <br>
debian stretch.<br>
<br>
I've uploaded a dll of 1.12.1-beta43 (the version in Gpg4win-3.1.5) with <br>
debugsyms (as created by the Gpg4win buildsystem) at: <a href="https://heinecke.or.at/div/libgpgme-11.dll" rel="noreferrer" target="_blank">https://heinecke.or.at/<br>
div/libgpgme-11.dll</a><br>
<br>
> Or would I need to compile it myself with optimizations disabled?<br>
<br>
Might be better because then you could also add debug output in the codepath <br>
where it is crashing for you.<br>
<br>
Regards,<br>
Andre<br>
<br>
-- <br>
GnuPG e.V., Rochusstr. 44, D-40479 Düsseldorf.  VR 11482 Düsseldorf<br>
Vorstand: W.Koch, M.Gollowitzer, A.Heinecke.    Mail: <a href="mailto:board@gnupg.org" target="_blank">board@gnupg.org</a><br>
Finanzamt D-Altstadt, St-Nr: 103/5923/1779.   Tel: +49-2104-4938799</blockquote></div>
</blockquote></div>