我有一個核心文件,我正在檢查。我只是難以理解可能的原因。這是行爲:這個奇怪的崩潰的任何可能的解釋?
extern sampleclas* someobj;
void func()
{
someobj->MemFuncCall("This is a sample str");
}
我的崩潰是在MemFuncCall中。但是當我檢查覈心文件時,someobj有一個地址,比如abc(這個地址被正確初始化並且沒有被破壞),這與函數stacktrace中的這個指針是不同的:sampleclass :: MemFuncCall(this = xyz,「This is a sample str「)
我假設這個指針總是和someobj的地址一樣,即abc應該總是等於xyz。 這兩個地址可能不同的可能情況是什麼? Fyi,這個程序是單線程的。
MemFuncCall在做什麼?如果它正在接受一個char *,並且你正在寫它可能會導致問題,因爲char *參數指向一個靜態字符串。 – asm 2009-12-28 20:15:08
@Andrew Myers它只是採取const char *。 – VNarasimhaM 2009-12-28 20:27:08