运行时无问题,调试时会报段错误。



  • 运行时无问题,调试时会报段错误。

    比较奇怪的是,运行时,无任何异常错误。但是调试的时候,就会报段错误。

    发生段错误的地方是一个析构函数,

    代码如下:

    delete d_ptr;
    

    d_ptr 是指向基类的指针。可能为 nullptr

    在调试过程中,变为 baadf00d。这是个 debug 魔幻数字,微软的LocalAlloc函数用该值标记为初始化过的已分配的堆内存。怪微软喽。

    0_1449561768498_upload-781c3fff-eaa7-4683-8331-4d985685051d

    一些参考文章

    一些debug常用的"魔法"数值



  • @qyvlik 可能是在调试的时候微软调用了调试的hook函数以及内存泄漏检查的函数。所以在析构的过程中会报错。这个是好事,督促检查错误。这个要好好看一下是否访问了悬指针。


Log in to reply
 

走马观花

最近的回复

  • 🥚 🥒 🥚

    read more
  • 论坛似乎更换了新的表情呢。我试试看看?♂ ♂ :smiling_face_with_open_mouth_closed_eyes:

    read more
  • 最近尝试将我们动作编辑器的部分装入NDK中,出现了很难解决的问题。导致进行不下去了,后面发现是NDK库调用约定的问题。最后只得发现,只能使用C调用约定才能够顺利地链接成功。☹

    read more
  • qmake输出 warning: winrt_manifest_install.path is not defined: install target not created.

    运行直接报错 Cannot establish connection to the WinRT debugging helper.

    大佬们,我是不是缺什么组件还是怎么回事啊?

    read more

关注我们

微博
QQ群