我在代碼中做簡單的字符串操作,我得到一個分段錯誤。我無法得到確切的問題。 請看看有人能幫忙。_dl_runtime_resolve()中的分段錯誤
核心的回溯是
(gdb) bt
#0 0x00007f595dee41da in _dl_fixup() from /lib64/ld-linux-x86-64.so.2
#1 0x00007f595deea105 in _dl_runtime_resolve() from /lib64/ld-linux-x86-64.so.2
#2 0x0000000000401d04 in getNodeInfo (node=0x7fffbfb4ba83 "TCU-0")
at hwdetails.cpp:294
#3 0x0000000000402178 in main (argc=3, argv=0x7fffbfb4aef8)
at hwdetails.cpp:369
在線294崩潰即將在cout
說法是存在的。
LdapDN
是char *
而不是NULL
。
if (Epath && (Epath->Entry[0].EntityType == SAHPI_ENT_UNSPECIFIED ||
Epath->Entry[0].EntityType == SAHPI_ENT_ROOT)) {
// nothing is mapped. Degrade the ldap dn path to slot.
if(LdapDN){
std::cout << "LdapDN " << LdapDN << std::endl;
}
std::string ldapDN;
ldapDN = LdapDN;
std::string slot = LDAP_PIU_ID;
if (ldapDN.compare(0, slot.length(), slot) != 0) {
size_t pos = ldapDN.find(slot);
if (pos != std::string::npos) {
ldapDN = ldapDN.substr(pos);
LdapDN = (char *)ldapDN.c_str();
//getEntityPathFromLdapDn(ldapDN.c_str(), epath, domid);
}
}
}
它運行什麼操作系統?你正在使用的編譯選項是什麼? –