我在我的.PC文件下面的代碼,這是近10個進程,但一個進程它不工作作爲展示「核心轉儲/段錯誤」之稱。 這是由每個進程調用的代碼,作爲連接到數據庫的第一步。 請建議哪裏是在下面的代碼中的問題 - :Pro的C代碼連接到數據庫給分段錯誤
void DatabaseLogon (void)
{
EXEC SQL BEGIN DECLARE SECTION;
char *pchORALOG="";
EXEC SQL END DECLARE SECTION;
EXEC SQL WHENEVER SQLERROR DO SQLError();
/* Save text of current SQL statement in the ORACA if an error occurs. */
oraca.orastxtf = ORASTFERR;
/* try to get the oracle login user/pass at the process level */
if ((pchORALOG=getenv("oralog")) == NULL)
{
printf("Error:Cannot Logon to database!\n");
SQLError();
}
else
{
EXEC SQL CONNECT :pchORALOG;
}
} /* End Of DatabaseLogon */
感謝 Arpita
如果你得到一個核心轉儲,然後看着你調試轉儲很可能給你一個線索。還有什麼讓你覺得這是導致問題的那段代碼? – Jackson
Pro C是什麼? –
我只是做了pstack核心,我看到它停留在Databaselogon()那裏,因爲在覈心轉儲中找不到調試符號,因此無法進一步調試......並且就Pro C而言,它關注它的Pro * C! – arpita