我正在開發一個與外部ODBC數據庫連接的應用程序。 當我在Qt上運行它時,一切正常,但是當我嘗試打開獨立時,它總是在m_db-> open()上崩潰。打開ODBC db時Qt應用程序崩潰
當應用程序崩潰,得來這樣的錯誤:
Segmentation fault (core dumped)
下面是代碼:
m_db = new QSqlDatabase(QSqlDatabase::addDatabase("QODBC","edb"));
m_db->setDatabaseName(m_line);
m_db->open(); // <-// app crash here!
其中:
m_line = "Driver=/opt/sqlanywhere12/lib64/libdbodbc12.so;CommLinks=tcpip(Host=ip;port=port);ServerName=db;DatabaseName=db;Uid=uid;Pwd=psswd;"
任何人有一些線索?
我正在運行Ubuntu 14.04 64bits。 謝謝,
編輯
好了,經過一些更多的測試,似乎它停止崩潰,如果我請從m_line可變驅動程序配置,但很明顯,它停止工作...
EDIT2
從Qt創建者配置自定義運行後,它說反彙編器上的轉折點是0x7ffff6a777b9。這是什麼意思?
由於'm_db'是一個指針,它的值是什麼?它指向一個有效的實例嗎?爲什麼一個指針?爲什麼不使用對象實例(而不是指針)編寫簡單的測試應用程序,以驗證簡單應用程序的工作原理? – PaulMcKenzie
是的,這是一個有效的指針。我已經添加了一段代碼。 – albertTaberner