I'm writing a plugin for Siemens NX. CAD Exchanger SDK libraries won't load.

I'm writing a plugin for Siemens NX. CAD Exchanger SDK libraries won't load.

Our CadExCore.dll library depends on another system library - dbgeng.dll. In turn, dbgeng.dll depends on another library - dbghelp.dll.

Siemens NX loads and uses its own copy of dbghelp.dll instead of the system one. NX's version of this library is very outdated and doesn't contain certain functions necessary for dbgeng.dll. By default, version 6.x is loaded, which is significantly older than the system one on modern Windows copies - 10.x.

CAD Exchanger doesn't have a process that would pre-load an old version of dbghelp.dll when building examples, and loads a newer system version of this library.

Microsoft recommends redistributing dbhgelp.dll in a form of a separate Windows Debugging Tools installer. But Siemens just puts their outdated copy of this library into NX package, which can lead to issues similar to the one you encountered in this case. So the problem is actually stemming from Siemens's part.

We can suggest replacing the older dbghelp.dll (6.x) from c:\ess\nx18\nxbin\ with the newer dbghelp.dll (10.x) from C:\Windows\System32\. This should solve the error.