最近开发中遇到一个崩溃的问题,调试的时候发现崩溃时调用堆栈全在QT相关的dll中,调试的时候有点懵逼。后来同事通过回滚代码找到引起崩溃的代码片段,发现是因为某个缓存信息没有清除导致操作野指针。之前遇到过数组溢出操作,导致程序在某个操作时突然崩溃。C++万恶的指针。
开发时,经常遇到某个功能,在某次提交后,突然失效。没有好的思路时,可以通过找到引起失效的代码段,找原因。还有调试的时候,多打调试信息,监控程序的运行情况。
最近开发中遇到一个崩溃的问题,调试的时候发现崩溃时调用堆栈全在QT相关的dll中,调试的时候有点懵逼。后来同事通过回滚代码找到引起崩溃的代码片段,发现是因为某个缓存信息没有清除导致操作野指针。之前遇到过数组溢出操作,导致程序在某个操作时突然崩溃。C++万恶的指针。
开发时,经常遇到某个功能,在某次提交后,突然失效。没有好的思路时,可以通过找到引起失效的代码段,找原因。还有调试的时候,多打调试信息,监控程序的运行情况。