教你如何使用maxscript調試器
作者:李英江 (轉載)
就我個人來說3ds max 8腳本調試器用得不多,在這里我講一下腳本調試器的原理和簡單的用法。腳本調試器只不過是一個max8的一個調試程序,它允許暫停3ds max主線程和其它線程,可以使用命令threads顯示當前的3ds max所有線程及線程id,可以使用setThread 線程ID)切換當前調試的線程。一般情況調試器默認為調試最頂層(這個詞不知道大家是否理解我的意思,就像是家里面的菜盤子,最頂層的盤子是最后放上去的,當然要拿開盤子只能從最上面一個開始)的線程,3ds max本身在實現一些操作時大量使用多線程,例如渲染時,就創建了一個新線程,關于線程和進程的區別,你可以找相應編程書籍。在3ds max8的目前調試器版本,還不支持鼠標選擇某行設置斷點(至少我沒有找到這個功能,你找到了請告訴我),因此我現在斷定,這是一個不實用的工具。但是3ds max8已經為我們提供了這個工具,當然是有用的了,只不過稍稍麻煩。
使用腳本調試器(我假設你已經寫好了一個腳本),首先在你的腳本你想要暫停的地方設置斷點,設置斷點可以使用break()函數,也就是當腳本運行到這里時暫停程序。這樣當你運行這個腳本時你將會在腳本調試器的"輸出"編輯窗口中顯示線程相應的內容。(我個人認為每運行一個腳本,3ds max就為這個腳本創建一個線程,所以才可以使用腳本調試器來跟蹤腳本。誰能證實一下我的猜測 我的E-MAIL: liyingjang@21cn.com)。當腳本執行到你設的斷點處就停下來,這時你可以使用getVar ""和 setVar "" 來查看變量內容和臨時設置變量內容。更方便查看變量內容的方法可以點擊"監視"按鈕,然后輸入變量名按回車鍵即可顯示你剛輸入的變量名的值了。點擊"運行"按鈕可以使腳本運行到下一個斷點處暫停,查看和設置變量的方法上一步所說的是一樣。
總結一下:3ds max8的目前的調試器還很不完善(你也可以用丑陋來形容,希望以后的Max版本能把腳本調試器做得好點,好可惜我沒有看到在MAX9調試器有一點點的變化)。腳本調試器雖不怎么樣,但也不是一無是處,至少你可以少用print和format來查看運行時變量內容和調試腳本。
以下是我寫了一個簡單的調試腳本,運行后當i=10時會啟動腳本調試器。
global ps=10
for i=0 to 100 do
(
ps = ps + i
if i==10 do break()
)
查看運行時斷點的i變量,可以點擊"監視"按鈕,輸入i 然后回車,就可以看到變量i的值為10。