<div dir="ltr"><div dir="ltr">I have written a C++ program which is built with Visual Studio 2017.  The program includes the Windows Libs for GES, Gstreamer, etc. (1.14.4) which I download from here:  <a href="https://gstreamer.freedesktop.org/data/pkg/windows/" target="_blank">https://gstreamer.freedesktop.org/data/pkg/windows/</a>  (These libs are built with cerbero, mingw, gcc.)</div><div dir="ltr"><br></div><div>My application basically builds a GES Timeline and the runs it through a pipeline.</div><div><br></div><div><b><u>Here is my basic question</u></b>:  Is there any reason to suspect that my application would not play nicely with the Visual Studio Debugger since the Gstreamer Libs are built with mingw and gcc?</div><div><br></div><div><b>Below are some more details about what I am seeing:</b></div><div><b><br></b></div><div>I see evidence of heap corruption only when I attach the Visual Studio 2017 debugger.  When this debugger is attached, the program will often hang while the pipeline is running.<br></div><div><br></div><div>When I run from a GTest (just native code with VS debugger attached), the program will hang inside ntdll.dll; but it runs fine without the debugger attached.</div><div><br></div><div>When I run from managed code (with VS debugger attached), the program hangs inside a Thread.Sleep command (completely unrelated to the native code); but it runs fine without the debugger attached.</div><div><br></div><div>The behavior is always slightly different depending on subtle variations related to the debug environment.  For example, I can turn on the page heap to create guards using gflags ...</div><div><br></div><div><pre style="margin-top:0px;margin-bottom:1em;padding:5px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:inherit;font-family:Consolas,Menlo,Monaco,"Lucida Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New",monospace,sans-serif;font-size:13px;vertical-align:baseline;box-sizing:inherit;width:auto;max-height:600px;overflow:auto;background-color:rgb(239,240,241);color:rgb(36,39,41)"><code style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;font-family:Consolas,Menlo,Monaco,"Lucida Console","Liberation Mono","DejaVu Sans Mono","Bitstream Vera Sans Mono","Courier New",monospace,sans-serif;vertical-align:baseline;box-sizing:inherit;white-space:inherit">gflags.exe –p /enable my_program.exe /full</code></pre></div><div>... and the program might not get stuck (for some of my timelines), or it might get stuck in a different place (for some of my timelines).</div><div><br></div><div>When I create the guards using gflags, I do not get any explicit messages that the heap has been corrupted, but the program hangs so I'm not sure what else might be the problem.</div><div><br></div><div>If I use windbg the program doesn't hang.<br></div><div><br></div><div>I wonder if anybody has some intuition about what the problem is.</div></div>