1

为了调查我的应用程序中的内存构建(Windows平台上的本机代码),我做了以下

1) 在迭代中运行测试用例

2) 在每次迭代后转储 UMDH,然后在某些迭代之间进行比较,以查看调用堆栈中的内存模式。我需要一些关于以下数据的帮助,我需要解释这些数据

a) 在 diff 日志的最后,我发现类似这样的总增加 == 86928 请求 + 38080 开销 = 125008 这里到底是什么开销?如果我将所有分配加起来并扣除解除分配,我会得到一个接近 #requested 数量的数字。我无法计算间接费用数字。

b)需要的另一个帮助是下面的调用堆栈是调用堆栈的一部分的快照

sqlncli11!PrepOrPrepExecQuery+159
sqlncli11!SQLExecute+32D
ODBC32!SQLExecute+342
sscdms80!CSSODBCSqlCursor::DoExecuteStmt+B4C (m:\some filename, 2903)
sscfdm!CSSLockSqlCursor::DoExecuteStmt+11A (m:\Another filename, 5237)
sscfdm!CSSSqlCursor::Execute+129 (m:\yet Anotherfilename, 5685)
sscfdm!CSSSqlObj::Execute+D86 (m:\Filename.cpp, 27500)
sscfom!CSSBusComp::SqlExecute+3A (m:\someotherfile.cpp, 28872)

With each function name there is an offset attached (a HEX number) example  sscfom!CSSBusComp::SqlExecute+3A  (here 3A is the offset).

该抵消的意义是什么?我没有找到任何解释这一点的文件。

c) 在该时间间隔内,perfmon 捕获的私有字节中的增量如何与调用堆栈中的增量相关?

4

0 回答 0