我正在使用CGAL在Visual Studio 2015社區中使用C++應用程序。當我從Visual Studio運行它時(無論是在調試模式還是發佈模式下,有或沒有附加調試器)或從Windows命令提示符運行該應用程序。但是,當從git bash(mintty 2.0.3 x86-64-pc-msys)運行完全相同的可執行文件時,我有時會在調用dll時遇到段錯誤。這對我來說令人沮喪,因爲我通常在Windows上使用git bash作爲我的控制檯。應用程序在cmd中給出git bash中的段錯誤
當我從一個字符串構造一個CORE :: Expr(一個確切的數字類型)時就會出現錯誤,例如: 「726838724295606890549323807888004534353641360687318060281490199180639288113397923326191050713763565560762521606266177933534601628614656」。這將調用CGAL_Core-vc140-mt-gd-4.8.dll,然後調用libgmp-10.dll,這是發生分段錯誤的位置。
是否有可能在Windows命令提示符下沒有公開的編程錯誤,或者使用不同的控制檯會導致分段錯誤?
嘗試http://www.dependencywalker.com/查看應用程序想要使用哪個DLL – fritzone
「在調用dll」中 - 如果知道崩潰的大概位置,請張貼一些代碼,因爲它是一個沒有更多信息的問題非常模糊。 –
堆棧/內存損壞。 – Devolus