-
Notifications
You must be signed in to change notification settings - Fork 590
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Process (calling Debug version library) exits abnormally #207
Comments
I can't see any useful information. What is the code git hash?
|
ZLToolKit-master.zip
|
Using Visual Studio 2015, ZLToolKit was compiled as a dynamic library. When calling the dynamic library, the above exception occurred. Note: When using a static library, there is a conflict with other code in the project, resulting in a compilation error.
|
Is this exception related to my usage? My usage: I called the static library ZLToolKit in the dynamic library sampled.dll, and then the process sampled.exe called sampled.dll. I saw that CMakeLists.txt prohibits compiling ZLToolKit as a DLL under Windows. What is the reason for this? Are there any solutions?
|
Compiling zltoolkit into a dll, it's recommended to encapsulate it with C. This is because C++'s ABI is incompatible. From your debug information, it seems that ZLToolkit's socket was either reclaimed by the system or closed by code in the same process. It's unclear which.
|
1 similar comment
Compiling zltoolkit into a dll, it's recommended to encapsulate it with C. This is because C++'s ABI is incompatible. From your debug information, it seems that ZLToolkit's socket was either reclaimed by the system or closed by code in the same process. It's unclear which.
|
Understood, thank you.
***@***.***
From: 夏楚
Date: 2024-01-28 19:42
To: ZLMediaKit/ZLToolKit
Cc: dyzyrax; Author
Subject: Re: [ZLMediaKit/ZLToolKit] Process (calling Debug version repository) exits abnormally (Issue #207)
It is recommended to encapsulate zltoolkit into a dll with c, because the abi of c++ is incompatible.
From your debug information, it seems that the socket of ZLToolkit has been recycled by the system or closed by the code in the same process. It is unknown.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
了解了,谢谢
***@***.***
发件人: 夏楚
发送时间: 2024-01-28 19:42
收件人: ZLMediaKit/ZLToolKit
抄送: dyzyrax; Author
主题: Re: [ZLMediaKit/ZLToolKit] 进程(调用Debug版版本库)退出时异常 (Issue #207)
把zltoolkit编译成dll 建议还是c封装下比较好 因为c++的abi是不兼容的。
从你debug信息看 是ZLToolkit的socket被系统回收了或者被同进程代码关闭了 不得而知。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
`TRANS_BY_GITHUB_AI_ASSISTANT`
|
I verified that packaging it as a C dynamic library doesn't work either. The process crashes when it is destroyed. The problem is likely caused by the large number of global variables defined inside ZLToolKit.
***@***.***
From: ***@***.***
Date: 2024-01-29 16:35
To: ZLMediaKit/ZLToolKit; ZLMediaKit/ZLToolKit
Cc: ***@***.***; Author
Subject: Re: Re: [ZLMediaKit/ZLToolKit] Process (calling Debug version library) exits abnormally (Issue #207)
Understood, thank you.
***@***.***
From: Xia Chu
Date: 2024-01-28 19:42
To: ZLMediaKit/ZLToolKit
Cc: dyzyrax; Author
Subject: Re: [ZLMediaKit/ZLToolKit] Process (calling Debug version library) exits abnormally (Issue #207)
It is recommended to encapsulate zltoolkit into a dll using C, because the C++ ABI is not compatible.
From your debug information, it seems that the socket of ZLToolkit was either reclaimed by the system or closed by the code in the same process. It is unclear which one it is.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
我验证了,封装为C动态库也不行,进程销毁时异常,问题原因应该是ZLToolKit内部定义的大量全局变量
***@***.***
发件人: ***@***.***
发送时间: 2024-01-29 16:35
收件人: ZLMediaKit/ZLToolKit; ZLMediaKit/ZLToolKit
抄送: ***@***.***; Author
主题: Re: Re: [ZLMediaKit/ZLToolKit] 进程(调用Debug版版本库)退出时异常 (Issue #207)
了解了,谢谢
***@***.***
发件人: 夏楚
发送时间: 2024-01-28 19:42
收件人: ZLMediaKit/ZLToolKit
抄送: dyzyrax; Author
主题: Re: [ZLMediaKit/ZLToolKit] 进程(调用Debug版版本库)退出时异常 (Issue #207)
把zltoolkit编译成dll 建议还是c封装下比较好 因为c++的abi是不兼容的。
从你debug信息看 是ZLToolkit的socket被系统回收了或者被同进程代码关闭了 不得而知。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
`TRANS_BY_GITHUB_AI_ASSISTANT`
|
I tried to rename the main function in test_tcpClient.cpp and export it as a C interface. It runs normally, but there is an exception when the process is destroyed. I will share the way to reproduce the problem: ① Extract the attached zip file to the ZLToolKit-master directory
③ Build the Visual Studio 2015 64-bit project, compile the test program ZLToolKitDLL_test, run the program, press 'esc' or 'q' to exit, and an exception will be reported during the exit process.
ZLToolKitDLL.zip
③ 构建Visual Studio 2015 64位工程,编译测试程序ZLToolKitDLL_test,程序运行后,按‘esc’或'q'键退出,退出过程中就会报异常
|
TRANS_BY_GITHUB_AI_ASSISTANT
The text was updated successfully, but these errors were encountered: