国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

如何實現VB和VC的聯合調試

2024-07-21 02:20:28
字體:
來源:轉載
供稿:網友


我用vc寫了一個dll,然后用vb寫exe。我現在想調試我的dll和exe,在vb環境下調試,可是我無法跳入dll函數的內部,無法在dll內部調試。有沒有一個辦法能讓我實現vb和vc聯調,當我在vb環境中需要跳入dll函數時,進入vc環境,在vc中調試,這樣我就可以查看變量值、設置斷點,然后等函數返回時又回到vb環境下繼續調試。 后來經過我自己的一番摸索,終于實現了vb、vc聯調。 這個方法是以vc為主環境,vb為副環境,這是因為dll是由vc編寫的,而在調試dll的時候一般會讓我們指定一個exe。如果dll是vb編寫的,我想應該是以vb為主環境(沒有測試過)。 1.  建立一個vb standard exe工程project1.vbp,在這個工程中調用vc編寫的動態連接庫中的函數。2.  建立一個vc dll工程testdll,編寫代碼實現函數輸出。建議把整個工程目錄放置到project1.vbp所在的目錄。3.  設置vc工程,這一步是非常重要的,是實現聯調的關鍵。a)         更改general選項卡中output files的路徑,指定到project1.vbp所在的目錄。由于我把工程目錄放在了project1.vbp目錄下,因此我這里用相對路徑“../”(其實就是project1.vbp所在的目錄)。b)        更改debug選項卡中executable for debug session:為你電腦中vb6.exe;更改working directory為project1.vbp所在的目錄;在program arguments:中填寫project1.vbp,這個參數其實是傳給vb的,讓vb打開project1.vbp,如果增加參數”/r”,那么在vb啟動后立即開始(相當于按f5),如果不增加參數”/r”,那么需要手動開始。c)        確認你的link選項卡中輸出dll的路徑及dll名稱,把他設定到project1.vbp所在的目錄:4.  在你的dll源程序(vc中)中設定斷點,按f5, go!怎么樣,vb環境已經運行起來了,工程project1.vbp已經打開了吧!如果你在3)b.的program arguments:中指定了”/r”參數,那么這個時候程序已經開始運行了,如果你沒有指定這個參數,那么你可以先在vb環境中設定斷點,然后在調用dll函數上設置斷點,按f5,start!如果在vb中遇到斷點,程序就會停下,然后按f8,step into! 發現什么了,哈哈,vc環境主動切換到前面,而且當前的箭頭已經指向了被調用函數了,這個時候,已經進入vc環境了,你想怎么調試都可以!當被調用函數要結束時,請按f11,step out,否則會有一段匯編代碼。這個時候vb環境有主動切換到前面,又進入vb調試環境了! 在用vc編寫dll時要注意,vc會對輸出函數名進行一些修飾,所以還是需要在def文件中明確輸出函數名。這個方法對于其他的環境之間(如delphi-vc、delphi-vb)是否適用我還沒有測試過,請大家在需要時自己測試。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 应用必备| 凤台县| 安顺市| 九龙城区| 来凤县| 丹江口市| 广灵县| 西乡县| 高密市| 凤翔县| 江华| 西青区| 科尔| 响水县| 张家港市| 宝丰县| 襄垣县| 大田县| 锦州市| 唐海县| 佛山市| 乌兰县| 栾城县| 东山县| 汉川市| 广昌县| 淮阳县| 苍梧县| 水城县| 卓资县| 庄河市| 龙胜| 西吉县| 大悟县| 哈密市| 泉州市| 卢氏县| 勐海县| 黄骅市| 诸暨市| 宁国市|