I’m trying to track the process as it calls the CmdDispatch() function and others in C++. Unfortunately, despite my efforts over the past few days, I haven’t made any progress. I would greatly appreciate it if you could share any methods or guidance that might help me.
inside the win64 directory and then use the debugger in Visual Studio.
Unfortunately, building a debug version on windows is difficult and I have not done that in a long time, because it requires python debug dll, which has a name like python3X_d.dll, where X is your version number. If you have this file, it needs to be referenced in cmake/appveyor.cmake
SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO /NODEFAULTLIB:python3")
but I have had a difficult time getting this to work.
For this reason, I recommend using Linux with a debugger.
If you do a manual debug build of devsim_py3.so or devsim_py3.pyd, it then needs to replace the optimized one in your conda or virtual environment installation directory.
Thanks Juan.
I have been trying to build a debug version but failed. It seems like the problems lie in link of symdiff library.
However, I can refer to CommandTable.cc to continue my work. If the opportunity arises in the future, I’ll attempt to build a debug version on Linux.
I really appreciate it—your response was extremely helpful!
I think attempting a debug build on Windows is difficult, because each component, (symdiff, umfpack) also needs to be compiled in debug build for this to work.
It may be easier to change the Release compile flags to reduce the optimization, so it is easier to debug. For example, you may be able to use the Zo flag, and also reduce the other optimizatino level flags.
WIth Linux, each library can still be compiled release, and devsim can be compiled as debug.