簡體   English   中英

斷點會引起延遲嗎?

[英]Do breakpoints introduce delay?

在我的代碼中設置斷點如何使以下代碼完成,否則將失敗。

這是問題所在。

我在為SAP B1編寫加載項,遇到以下問題。

加載表單時,我想在表單的矩陣中輸入一些值。

但是,如果沒有斷點(在加載表單的方法上設置了斷點),則隨后執行的部分代碼將失敗。 該部分代碼引用的是尚未顯示的矩陣,這會導致異常。 這很清楚。 但是為什么設置斷點可以“解決”問題。

到底是怎么回事?

我懷疑斷點在加載和顯示表單以及引用該表單元素的部分代碼之間引入了一些延遲,但是我可能是錯的。

在調試器下運行會使您的應用變慢,並且即使沒有斷點也常常會隱藏競爭條件。 當您引入一個斷點時,它甚至更有可能隱藏比賽條件。 這些問題可能很難解決。 您可能希望引入一些簡單的日志記錄(例如log4net),以查看其運行狀況,而又不會對應用程序造成太大影響,以至於您會看到不同的行為。 請記住,即使日志記錄也足以更改內容。

具有斷點意味着每次在運行時加載模塊時,Visual Studio都會在模塊中掃描可能斷點的位置。 這必須引入延遲。

這是基於Windows窗體的應用程序嗎? (恐怕我對SAP B1一無所知)如果尚無代碼,請嘗試將其放入表單的Load事件中。 某些控件在分配了它們的句柄之前還沒有准備好正確使用,而這些控件直到Windows消息循環運行幾次后才發生。

斷點確實會帶來一些延遲。 斷點是對程序的常規執行添加額外的指令。 硬件和軟件斷點都會為程序的執行添加一些內容(盡管數量會相差很大)。

http://en.wikipedia.org/wiki/Breakpoint

暫無
暫無

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

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