Vorrei essere in grado di seguire solo l'esecuzione di un thread durante il debug. Io uso un threadpool così il debugger continua a passare tra i thread e questo rende il debug molto scomodo.Come eseguire il debug di un thread in Visual Studio
lettura:
ricevo una soluzione che è breakpoint condizionali (in base al nome del thread). Tuttavia, non posso dire che "il thread n. 3" sarà sempre quello che tratta il caso interessante, quindi dovrei cambiare la condizione per ogni esecuzione. Troppo lavoro.
Un'altra soluzione consiste nell'utilizzare la funzione di blocco/scongelamento per eseguire solo il mio thread interessante. Tuttavia, questo rende alcune informazioni non disponibili perché tutti i thread sono in pausa.
Quello che sto usando ora è di far funzionare il programma fino a quando non arrivo ad un breakpoint in cui sono sicuro di essere nella buona discussione. Quindi metto in pausa tutti gli altri thread di threadpool e provo a riprendere l'esecuzione. Se i programmi sembrano bloccati, metto in pausa e faccio scongelare il thread corrente.
La soluzione ideale sarebbe trovare il thread corretto, contrassegnarlo e quindi dire a Visual Studio: "interrompe solo se il thread corrente è contrassegnato".
È possibile?
Quindi, qual è il criterio per la discussione del thread? – abatishchev
il criterio sarebbe stop è il thread è contrassegnato – kamaradclimber
Testare il codice in isolamento. Ad esempio con i test unitari. Quindi devi solo eseguire il debug dell'interazione tra thread, il tipo di debug in cui * non * vuoi bloccare i thread. –