一般都是靠log吧 比如用宏调用每个函数 #define FUNCTION_CALL(LibraryName, CallerFunctionName, CalledFunctionName, ParaExpression, Expression) \ do { \ long (*pFunctionPtr) ParaExpression = (long(*) ParaExpression) LibraryName.resolve(#CalledFunctionName); \ if (NULL == pFunctionPtr) \ { \ qCritical() << #CallerFunctionName << " - " << #CalledFunctionName << " resolve fail!"; \ return false; \ } \ qDebug() << #CalledFunctionName << " - *****begin*****"; \ m_lErrorCode = 0; \ long lRetErrorCode = pFunctionPtr Expression; \ if (lRetErrorCode) \ { \ m_lErrorCode = lRetErrorCode; \ qCritical() << #CallerFunctionName << " - " << #CalledFunctionName << ", Error Code: " << lRetErrorCode; \ return false; \ } \ qDebug() << #CalledFunctionName << " - ******end******"; \ } while (0) qDebug这些是可以直接写入到log文件的,也可以自己写 崩溃的时候一般都是某个函数进去没出来,直接看log就知道了
我想可以写log文件,进入关键函数的时候记录一下,至少能定位到函数,布置其他大牛是怎么做的
QT库可以自己编译,dump一样可以定位到地方
16,817
社区成员
26,684
社区内容
加载中
试试用AI创作助手写篇文章吧