錯誤備忘 ArcGIS MatLab

2022-02-23 17:32:07 字數 1073 閱讀 9477

08 年畢業時,參加乙個專案,由好幾家公司共同開發,我們公司做資料倉儲部分,包括建立資料倉儲和開發之上的資料倉儲管理系統。其中,我們公司將 olap 分析子系統包給了乙個大學,之後再進行系統整合。olap 子系統包含用 arcgis 開發的地理資訊展示和用 matlab 開發做圖分析功能等。

開發環境:

當 web 應用程式同時涉及 gis 和 matlab 開發時,matlab 做圖時會丟擲系統記憶體異常錯誤,該錯誤不可再現。如果丟擲此錯誤,則之後雖然也可做圖,但將始終出現該錯誤提示視窗。而 gis 應用程式執行正常。

起初認為是 matlab 自己的 bug,畢竟這個程式太大了,跟 gis 有得拼,於是反編譯 matlab 的核心 dll 檔案,希望通過研究它的底層實現來規避這個問題。還對 iis 進行了各種設定,也不能解決該問題——系統整合是件痛苦的事,有太多不可預知的問題出現。

再後來,認為 gis 和 matlab 有衝突,但是衝突在什麼地方,不得而知。

發現問題的所在,有點巧合。既然 gis 部分的應用程式沒問題,那就先不管它。把 matlab 應用程式獨立出來,再刪掉 web.config 檔案中關於 gis 的所有配置,但執行時,還是報錯,除錯來除錯去,設定來設定去,還是不好使……最終,我檢視了 machine.config 檔案,既然該檔案對 web 應用程式來說,是「大環境」,那留點最基本的就好了,就無意間刪掉了 小節。還在研究時,突然同事說:「好使了!」,驚異地看著我說:「你改什麼東西?」我當時一頓回憶……根據時間點,應該是 identity 小節。於是,立刻意識到,也許問題真在這裡……

我們知道,

在頁面上顯示底圖,並將圖層資料疊加到底圖上。訪問空間資料庫 arcsde 需要許可權。此過程,arcgis 會在 web.config 檔案中自動新增 小節;

machine.config 和 web.config 檔案,前者是針對一台 web 伺服器,後者是針對某個 web 應用程式。一台 web 伺服器可以有多個 web 應用程式。machine.config 檔案會作用在所有 web 應用程式上。

而原因正是在 這句話,雖然 gis 需要,但是 matlab 完全不需要,有這個小節 matlab 做圖時反而丟擲異常。知道問題所在後,解決就很簡單了。

錯誤備忘 VS VS 2008 下不能除錯程式

有時,在 vs 2008 下開發應用程式時,一不小心就會出現 當前不會命中斷點 的錯誤。此時,不能再除錯程式了。簡單建乙個專案,比如 web 專案。頁面放個按鈕,並在該按鈕事件寫response.write debug 此時除錯沒問題。但是如果改變 vs 除錯的設定,並新寫一行 response.w...

錯誤備忘 VS VS 2008 下不能除錯程式

有時,在 vs 2008 下開發應用程式時,一不小心就會出現 當前不會命中斷點 的錯誤。此時,不能再除錯程式了。簡單建乙個專案,比如 web 專案。頁面放個按鈕,並在該按鈕事件寫response.write debug 此時除錯沒問題。但是如果改變 vs 除錯的設定,並新寫一行 response.w...

分享and備忘

自己確實是乙個記憶力很差的人 而且是乙個菜鳥中的菜鳥。但我唯一的愛好就是瞎折騰吧,也希望某天成為大神,當然很渺茫。寫這個部落格呢,就是把自己在平時瞎折騰的過程記錄下來,紀念自己填過的坑。也給自己做個筆記,不希望像以前乙個坑里要跳進 次。當然我要記錄的可能大部分都不是原創,都是整理網上的資料。在自己折...