簡體   English   中英

如何保持未更改的符號加載

[英]How can I keep symbols loaded that don't change

我正在嘗試加快插件的調試迭代速度。 主機應用程序非常大,操作系統和主應用程序中有數百個符號。 只有一個.dll和一個.pdb更改,但它似乎必須按需從磁盤重新加載每個符號。 在達到斷點之前的啟動時間幾乎是五分鍾。 在發行版中運行應該在一分鍾以內。

我已經嘗試過的事情:

  • 刪除其他未使用的.dll :幫助但無法預測的結果
  • 編輯並繼續:過去這種做法“很棒”。 在此版本的宿主應用程序中,它不起作用。 這可能是由於部分產品使用了.net c ++ / cli包裝程序(與我正在使用的部分無關)
  • 不使用符號:在60%的情況下不是很好的調試經驗。
  • 保持程序運行,僅卸載我的.dll:不支持,因為依賴項不可預測。

對加快我的工作流程有什么建議嗎?

眼鏡:

  • 操作系統: Windows 7 64bit
  • IDE /調試器: Visual Studio 2010 SP1
  • 語言: C ++
  • crt版本:有時為v90 ,有時為v100,具體取決於主機應用程序的版本。
  • 使用ms符號服務器:
  • 編輯並繼續:損壞
  • 應用程序啟動時間: 4-5分鍾
  • 模塊窗口中的總數: 589!

使用Ramdisk並將經常訪問的符號存儲在其上。

您可以嘗試的其他一些方法

  1. 聲明一個名為_NO_DEBUG_HEAP=1的環境變量。 對於執行大量堆分配的大型應用程序非常有用
  2. 默認情況下,避免加載MS符號。 您只需要偶爾使用一次,在這種情況下,只需在調用堆棧窗口中單擊鼠標右鍵,然后從->符號路徑或Microsoft符號服務器中選擇加載符號
  3. 查看是否可以升級到SSD硬盤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM