当前位置:  开发笔记 > 编程语言 > 正文

类构造函数从未在发布模式下执行

如何解决《类构造函数从未在发布模式下执行》经验,为你挑选了1个好方法。

正是标题所说的.我正在使用MSVC++ 2008 express,并且在发布模式下编译时我的类构造函数永远不会被执行.它可以在调试模式下工作.

我做的事情如下:

ClassTest test;
test.DoIt();

在断点DoIt();触发,但在断点ClassTest::ClassTest();没有.



1> LeopardSkinP..:

只是一个想法 - 它可能是发布模式下的编译器优化,阻止了断点被击中.如果构造函数没有做任何事情(即它是无操作),就可能发生这种情况.尝试向构造函数添加一些简单的语句,例如

    声明一个局部变量

    初始化变量

    以某种方式使用它(例如打印出来)

然后在上面的步骤(3)中添加断点,并查看该断点是否被命中.

您可以看到各种奇怪的调试问题,以及在发布模式下命中断点的方式,因为所做的优化.

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有