こんにちは、コードでメモリ障害に直面しています。gdb を使用して、メモリ障害が発生する場所を見つけました。しかし、私はそれを解決することができません。メモリ障害が発生するコード行は次のとおりです。友達を助けてください。
void CJob::print_parm_file(){
int m_nFuncid;
CCmdset* pCmdset = NULL;
const int size=1024;
char fname[80];
char dbg_buf[size]="";
unsigned int i, gotit=0;
for (i=0; i < entries(); i++)
{
pCmdset = (CCmdset*) at(i);
//RWCollectableString *cmdset = (RWCollectableString *)pCmdset->at(0);
//RWCString m_Function=cmdset->data();
CXmlobj *xobj = (CXmlobj *)pCmdset->at(0);
cout <<"The value of m_name.data() //segfault issue is : " << xobj->m_name << endl;
cout <<"The value of m_name.data() //segfault issue is : " << xobj->m_name.data() << endl;
RWCString m_Function=xobj->m_name.data(); //segmentation fault occurs in this line
m_name.data() の値を出力して、その値を確認しました。その値を印刷しようとすると、cout ステートメント自体でセグメンテーション違反が発生しました。
注 : この問題は、Linux サーバーでのみ発生しています。コードは、問題なく Unix サーバーで完全に機能しています。
私を助けてください !ありがとう !!!