嗨,我的代码面临内存错误。我使用 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 服务器上运行完美,没有任何问题。
请帮我 !谢谢 !!!