[英]sqlcxt() causes segmentation fault
讓我們陳述一下sqlcxt()可能導致分段錯誤的條件,我在Unix上使用ProC將數據庫連接到Oracle數據庫。
我的程序崩潰了,核心文件顯示崩潰是由於sqlcxt()
函數引起的
A loadobject was found with an unexpected checksum value.
See `help core mismatch' for details, and run `proc -map'
to see what checksum values were expected and found.
...
dbx: warning: Some symbolic information might be incorrect.
...
t@null (l@1) program terminated by signal SEGV
(no mapping at the fault address)0xffffffffffffffff:
<bad address 0xffffffffffffffff>
Current function is dbMatchConsortium
442 **sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);**
您遇到的問題很有可能是C代碼中的某種指針錯誤/內存分配錯誤。 這些東西從來都不容易找到。 您可以嘗試以下操作:
我希望這個對你有用。 請添加更多詳細信息,我將再次檢查該問題,看看是否能為您提供幫助。
這可能是程序中的分配錯誤。 當我有這種行為時,總是我的錯。 我在Solaris / SPARC和Oracle 10g上進行開發。 一旦兩次釋放(即我兩次釋放了相同的指針),第二次我在程序的Oracle部分中擁有了一個核心,就是我釋放了一個不是分配的內存塊的指針。 如果您使用的是Solaris,則可以嘗試使用libumem分配庫(有關詳細信息,請訪問Google),以查看行為是否發生了變化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.