我有一個內存泄漏問題,它實際上是從以下結構排列形成:奇怪的內存泄漏
TagStruct TagData [] =
{
{ Tag_SecurityToken, string("x-abc-security-token"), string("ab-security-token") } ,
{ Tag_XYZ, string("x-abc-xyz"), string("ab-xyz") },
{ Tag_ChunkCount, string("x-abc-meta-chunk"), string("ab-meta-chunk") },
{ Tag_OriginalFileSize, string("x-abc-meta-totalsize"), string("ab-meta-totalsize")}
};
奇怪的是當然的內存泄漏問題,而最古怪的問題是,當我關閉客戶端VS轉儲第一個,第三個和第四個元素,但不轉儲第二個元素(Tag_XYZ)。內存泄漏似乎產生在第一次運行之前,我甚至調用數組,記住,我只使用數組用於檢查的目的裸:
string Get_Tag (Tags tag)
{
return m_ClientType == CType_ABC ? TagData[tag].strABC : TagData[tag].strAB;
}
那實際上整個的原因吧。所以沒有任何內聯堆/內存分配。
也是標籤結構看起來某事像這樣:
struct TagStruct
{
Tags tag;
std::string strABC;
std::string strAB;
};
我也想讓你知道,這是一個全球性的數組,我自己也嘗試使其靜止的,而是不斷收到內存泄漏,也我試過聲明數組中的字符串爲"str"
,而不是string("str")
,但不斷收到內存泄漏。是的,內存泄漏是靜態的,這意味着它不會隨着時間的推移而建立,但仍然更好地保持乾淨的代碼。有什麼建議麼??
錯誤..我沒有看到泄漏..你確定嗎? – 2009-11-10 08:41:28
好吧,這就是VS說的,坦率地說,我也沒有真正看到泄漏,這就是爲什麼我用「怪異」這個詞 – 2009-11-10 08:43:23