2013-07-09 26 views
0

我有一個在運行期間有很多變量的代碼,它在某一行崩潰。現在,顯然我想用調試器在崩潰時顯式顯示變量值。然而,我可以在該行上定義一個斷點,但是當我點擊'繼續'足夠的時間讓代碼崩潰(該行在循環內部,並且在循環的最後一次運行時崩潰),matlab將清除所有的工作空間運行時變量。Matlab調試器在崩潰後顯示變量

您是否知道如何維護變量以查看導致崩潰的值?非常感謝。

回答

3

如果你使用dbstop if error那麼matlab將在實際導致崩潰之前停止在導致錯誤的那一行,將所有已定義的變量保留在當前(函數的)工作區中。

另一種方法是使用try - catch ME進行錯誤處理,但在您的情況下似乎過度。

+0

另一種選擇是隻使用條件斷點。將條件設置爲指示其最後一次循環迭代的某個狀態(容易使用for循環) – Dan

+1

'dbstop if error'確實似乎是要走的路。請注意,如果需要進行廣泛分析,則可以使用'save'命令從調試模式存儲變量。 –

0

如果在最後一個例程中發生崩潰,那麼將循環運行一段時間,並且擁有所有變量,因此如果需要,也可以保存它們。 現在,您可以在循環內逐行運行。