2017-01-03 9 views
-1

左のマウスダウンイベントがあります。私のアプリケーションは、このメソッドにブレークポイントを置く場合にのみ、期待どおりに動作しています。ブレークポイントを削除してコードを実行すると、機能が動作しません。コードは、ブレークポイントがメソッドcに配置されている場合にのみ機能します。#

これが起こっている具体的な理由はありますか? PFBイベントコード

internal void LeftMouseDown(object sender, MouseEventArgs e) 
{ 
    try 
    { 
     recorderData.CloseRecordedActionWindows(); 

     if (CommonRecorderHelper.IsCursorInsideRecorder()) 
      return; 

         recorderData.m_lastPremitiveAction = PrimitiveMouseEvent.LeftButtonDown.ToString(); 
     recorderData.m_lastMouseDownLocation = e.Location; 
     recorderData.m_IsAssertionStarted = false; 
     recorderData.m_readyForHookDisconnect = false; 
     recorderData.m_previousKeyboardSUITControl = null; 

     recorderData.m_RecordedValue.ResetValues(!recorderData.m_RecordedValue.IsModifierKeyPressed()); 

     if (recorderData.m_RecordedValue.IsModifierKeyPressed()) 
      recorderData.m_IsModifierKeyPressedForMouseAction = true; 

     UpdateRecorderFormWithActions(recorderData.m_lastMouseDownLocation, PrimitiveMouseEvent.LeftButtonDown); 

    } 
    catch (Exception ex) 
    { 
     recorderData.m_RecordingStopped = true; 
     recorderData.m_mouseDownOnValidationBtn = false; 
     SUITLogger.ReportMessage(ex); 
    } 
    finally 
    { 
       recorderData.m_EarlierX = e.X; 
     recorderData.m_EarlierY = e.Y; 
    } 
} 
+1

完全なコードを投稿してください。 – Pritam

+0

コードのどの時点で、ブレークポイントが動作するときに設定されていますか? recorderDataのタイプの定義を表示できますか? –

+1

これは、別のスレッドで変更される、たとえば読み込みに時間がかかるものを読んでいる場合に発生する可能性があります。ブレークポイントを配置すると、ロードするコードの時間や他のスレッドを終了させることができます。私たちが何の事を知ることができるようにするには、あなたがしたいこととあなたがそれをやりたいと思う方法の詳細を与えるべきです。 – Emad

答えて

0

それは私がすべてのブレークポイントなしで期待どおりに働いているスリープ状態にスレッドを作ってるんだfinish.Whenに他のスレッドのために多くの時間を取っているので、これが起こっています。それはその行とカーソルの意志を打つときに我々は、ブレークポイントを配置している場合は、私たちはif (CommonRecorderHelper.IsCursorInsideRecorder())にブレークポイントを配置することにより...他のスレッドの終了前に、コードに

1

を時間を与えている

、デバッガが停止しますコードウィンドウに移動して、レコーダーウィンドウを離れてください。

あなたの質問はうまく言えないと思います。実際には、コードは常に機能します。そのIsCursorInsideRecorder関数は通常を返すと期待している間にtrueを返します。

関連する問題