调试和发布库及其可执行程序

Posted

技术标签:

【中文标题】调试和发布库及其可执行程序【英文标题】:Debug and release libraries and their executable program 【发布时间】:2014-03-05 16:47:48 【问题描述】:

只是很好奇下面的问题:如果一个Debug可执行程序调用一个Release第三个库,会发生什么?程序会在没有任何崩溃的情况下运行吗?那么,Release 可执行程序调用 Debug 第三个库怎么样?不同的平台(windows、linux 和 mac)在任何一种情况下都会执行相同的操作吗?在这里,我将编程语言限制为 c 和 c++。

【问题讨论】:

【参考方案1】:

在 Windows(VS、mingw)和 Linux (gcc) 上混合带有/不带有调试信息的二进制文件 没问题。但是,我不能肯定地说 Mac 或其他编译器 (但可能没有区别)

【讨论】:

【参考方案2】:

对于问题,调试可执行文件时程序是否会运行而不会崩溃?

是的,调试器在堆栈上分配更多,因此程序不太可能覆盖重要的东西。

【讨论】:

以上是关于调试和发布库及其可执行程序的主要内容,如果未能解决你的问题,请参考以下文章

通过 GDB 调试 DMD 生成程序

使用GNU/gdb调试Linux C/C++可执行程序查看出错源代码、设置断点

在linux中如何编译C程序,使之成为可执行文件?如何调试?

Visual Studio 2017 运行调试包含有多个可执行程序的项目

让 VC++ 可执行文件自动加载调试器 [重复]

应用程序可执行文件和 3d 方库之间的嗅探函数调用