digitalmars.D.learn - Memory corruption with COM object
- Rene Zwanenburg (16/16) Jul 06 2018 I've been staring at this problem the past few hours without
- Kagamin (2/2) Jul 09 2018 You can enable logging in GC and see what's allocated and
I've been staring at this problem the past few hours without making any progress. But I feel like I'm overlooking something obvious.. Using Adam's comhelpers, I've made a JSON plugin for LogParser. However after running for a bit it'll crash with signs of memory corruption. My guess was the GC was collecting things still in use, and disabling the GC does indeed 'fix' the problem. Looking through comhelpers, the code doesn't add a GC root for a created object before handing it off to the C side. I've added root adding and removing, expecting that to fix the problem. However it didn't help. The DLL uses the helper functions like dll_process_attach in DllMain, so druntime is initialized. What would be a good way to figure out why the GC decides to collect objects I'm still holding on to?
Jul 06 2018
You can enable logging in GC and see what's allocated and collected.
Jul 09 2018