我添加了一个新类并使用new
.
我看到程序因此而崩溃。在进一步调试中,我发现有一个现有的类是使用缓冲池中的新位置分配的。
那么我的new
操作员是否有可能不知道这一点并从该缓冲区分配内存?
我如何确认这一点以及如何避免这个问题而不是从该池中分配?
代码片段:在分配池之前调用我的代码。
使用泳池的地方
// Initialize buffer pool for path pbject buffers
UINT32 size = CHOP_MAX_PATH_NUM * sizeof(Buffer<pathElement>);
/* Create the path manager for each channelized sonet line */
for (UINT8 lineId = 0; lineId < maxLines; lineId++) {
/* Get the max STS Paths for this line */
chanSonetLineMgr[lineId] =
new ChopOC48SonetPathMgr(
bay, lineId, &pathElementPool,
NULL, dynamic_cast<SonetLineNg *>(linesNg[lineId]),
NULL, //Alert: When Chop Path Mgr is ready