2016-04-27 80 views
1

我試圖在我的(本機C++)應用程序有鼠標焦點時切換,並通過切換到Visual Studio應用程序以Ctrl-Alt-Break或Debug> Break All,my應用程序不再做我想要打破的事情。如何讓Visual Studio調試器無焦點地中斷

有沒有辦法使得Visual Studio在經過5秒後中斷?或者是否有某種調試API,我可以編寫一個腳本來觸發一個Break All,而無需將焦點切換到Visual Studio應用程序?

能夠突破無焦點可以幫助poor man's profiling和更好地瞭解與焦點相關的陌生代碼。

+0

的Visual Studio(尤其是2015年),有一噸的分析工具,因此,如果你的目標是真的做你的配置你會更好使用這些。 –

+3

它是受支持的調試場景,您必須在另一臺機器上運行該應用程序並使用遠程調試器。 –

+0

你可以編輯斷點的屬性,也許你可以配置斷點來做你想做的事情。 –

回答

-1

有兩種方法可以在不改變鼠標焦點到Visual Studio突破:

  1. 安裝Remote Tools and debug from another machine

  2. 添加一個線程與定時器,並設置一個破發點出現,例如添加此某處每5秒突破:

    static bool debug_timer_started = false; 
    if (!debug_timer_started) 
    { 
        debug_timer_started = true; 
        std::thread([] 
        { 
        static int seconds = 5; 
        static bool keep_going = true; 
        while (keep_going) 
        { 
         /* set break point on this line: */ std::this_thread::sleep_for(std::chrono::seconds(seconds)); 
        } 
        }).detach(); 
    } 
    

    您將需要這些頭:

    #include <thread> 
    #include <chrono> 
    
相關問題