我的C++应用程序嵌入了Python解释器,但关闭时似乎遇到了一些问题。在主窗口关闭后立即出现分段错误(这是Windows系统,但我们仍然称其为分段错误)。以下是堆栈跟踪信息:
#0 102AD580 tk85!Tk_MainWindow() (C:\Users\... 1.3\bin\Debug\lib\tk85.dll:??)
#1 103082DD tk85!XSetStipple() (C:\Users\... 1.3\bin\Debug\lib\tk85.dll:??)
#2 102214A3 ??() (C:\Users\...1.3\bin\Debug\lib\tk85.dll:??)
#3 10220000 ??() (??:??)
#4 00000000 ??() (??:??)
我该从哪里开始调试这个问题?看起来可以复现。
tkinter
或相关代码。但是删除tk85.dll
可以防止出现问题。 - David Fraseratexit
处理程序,然后在其中设置断点,以查看此操作是在拆卸之前还是之后发生(使用处理程序进入CRT退出代码并将断点放在该函数的开头,以便您可以在所有处理程序之前捕获此操作)。在退出期间会发生一些暴力事件,例如除了主线程外,所有线程都会被杀死,因此这可能是其中的一部分。还有可能某些资源正在被释放,而不应该调用此函数。Tk是否有关闭路径? - aaron