线程堆栈统计

    最近检查线程的堆栈使用情况,看是否会越界或者分配太多。没有找到直接的工具,所以使用EPTree来统计,本来想用lex和Yacc来实现的,时间太紧,等有空的再研究一下。

    下面说说一些使用的问题和方法。

  1. 追加头文件路径直接修改Eptree.ini文件比较方便,注意[標準インクルード設定数]这项也要修改。
  2. 结构体类型的对齐不会设置,并且嵌套多层的宏定义可能识别不出来,导致统计出来的堆栈不太准确,所以把用到的类型往[Eptree設定.dat]里添加,这样就可以得倒准确的堆栈大小了。这里利用[Ep一覧type.txt]和excel来快速得倒类型表(file<<"     int    ("<<sizeof(     int    )<<"),"<<endl;)。
  3. 如果你的代码中有这样的定义{char a[];}那么在结果中就会出现[×]符号,这就是有问题的了,再去确认一下代码。
  4. 函数的调用关系树可是使用excel来处理,先把调用各级都清晰提取出来,然后通过函数堆栈信息来分析最大的堆栈使用量,excel用的不好,使用笨方法,利用公式:[=VLOOKUP(CONCATENATE(IF(B2="","",B2),IF(C2="","",C2),IF(D2="","",D2),IF(E2="","",E2),IF(F2="","",F2),IF(G2="","",G2),IF(H2="","",H2),IF(I2="","",I2),IF(J2="","",J2),IF(K2="","",K2),IF(L2="","",L2),IF(M2="","",M2),IF(N2="","",N2),IF(O2="","",O2) ),Ep一覧Func!$A:$D,3,FALSE)]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值