函数调用约定Bug一则

这两天一直在查一个Bug,图方便,直接通过Windbg Release调试。

问题出现在一个很奇怪的地方,线程栈似乎被破坏,但是始终查不到原因。后来同事帮忙,VS Debug一下就把问题定位了,出在一个动态库导出函数的调用约定不一致。

定义为_stdcall,调用处声明为C调用约定了。

Release确实忽略了一些边界的检查,如果Release不能再现,或者思路不清的。别忘了使用Debug版。

posted @ 2012-07-25 15:04  友学友  阅读(172)  评论(0编辑  收藏  举报