2008-09-17 23 views
28

¿Hay alguna manera de activar un pitido/alarma/sonido cuando se golpea mi punto de interrupción? Estoy usando Visual Studio 2005/2008.Visual Studio: ¿Cómo activar una alarma cuando se golpea un punto de interrupción?

+0

¿Podría explicar por qué necesita esto?No creo que exista tal característica de "alarma", pero si nos proporciona su escenario sobre por qué necesita esto, podríamos darle otra solución. – Espo

+3

Probé mi código en una PC en un cubo adyacente y transcurre un tiempo antes de que se golpee mi punto crítico de depuración. Entonces, mientras estoy en mi propia PC, me gustaría saber cuándo se llega a mi punto de ruptura. Una pequeña alarma audible o incluso un pitido sería suficiente para esto. –

+0

* necesita reiniciar Visual Studio para que esta configuración surta efecto (VS2010) - y este es el mismo lugar al que debe ir para habilitar los ruidos de construcción 'Exitoso' o 'Fallido' –

Respuesta

69

WinXP Panel

de control -> Sonidos y Audio ... -> Programa de Eventos - Microsoft Developer -> punto de interrupción Hit

Win7

Panel de control -> Todos los elementos del Panel de control -> Sonidos -> Sonidos (pestaña) - Microsoft Visual Studio -> Punto de ruptura Hit

+1

Solía ​​tener el sonido de "Construir falla" configurado para "Houston tenemos un problema" de Tom Hanks. Sí, estúpido, lo sé, pero tuvo éxito en molestar a mis compañeros de trabajo. :) –

+1

Y en Win 10 se encuentra la configuración de esta manera: Configuración -> Personalización -> Temas -> Configuración avanzada de sonido -> Microsoft Visual Studio -> Breakpoint Hit – Tech

+0

Esto es perfecto. Necesitaba esto para un largo proceso en el que el punto de quiebre podría ser golpeado una vez cada 10 minutos más o menos ... Es agradable poder hacer otra cosa mientras esto sucede. – NotMe

2

Puede crear una macro que se ejecute en respuesta a una activación de punto de interrupción. En tu macro, puedes hacer lo que sea necesario para hacer un pitido.

8

Sí, puede hacerlo con una macro asignada a un punto de interrupción. Esto funciona en VS 2005, supongo que 2008 también funcionará. Supongo que no quieres un sonido en CADA punto de interrupción, o la otra respuesta funcionará bien. Probablemente haya una manera de reproducir un sonido específico, pero no profundicé tanto. Estos son los pasos básicos:

añadir un nuevo módulo de macro (pasos siguientes del código)

Imports System.Runtime.InteropServices 
Public Module Beeps 
    Public Sub WindowsBeep() 
     Interaction.Beep() 
    End Sub 
    Public Sub ForceBeep() 
     Beep(900, 300) 
    End Sub 
    <DllImport("Kernel32.dll")> _ 
    Private Function Beep(ByVal frequency As UInt32, ByVal duration As UInt32) As Boolean 
    End Function 
End Module 
  1. Herramientas => Macros => Macros IDE
  2. My Macros (En el Explorador de proyectos) => Añadir nuevo módulo => Nombre: "bips"
  3. copiar el código anterior en que tiene 2 métodos
    1. primera. utiliza el sonido "Beep" de Windows
    2. En segundo lugar se fuerza un tono "Beep", no un archivo .wav. Esto funciona con todos los sonidos deshabilitados (por ejemplo, Panel de control -> Sonidos -> Programa de sonido: Sin sonidos), pero suena feo.
  4. Ver el Explorador de macros en VS.Net (no el IDE de macros) para asegurarse de que está allí :)

asignar a un punto de interrupción

  1. Añadir un punto de ruptura a una línea
  2. Haga clic derecho en el pequeño punto rojo
  3. Seleccione "Cuando Hit"
  4. Marque la casilla para habilitar las macros
  5. Seleccione la macro en el menú desplegable
  6. Deseleccionar "continuar la ejecución" si desea detener. Está marcado por defecto.

Además, no son maneras de reproducir un archivo WAV arbitraria, pero que parece excesivo para una alerta. Quizás el "pitido" forzado sea el mejor, ya que al menos suena diferente a Ding.

+0

NOTA: Desafortunadamente, la casilla de verificación "Ejecutar una macro" no está disponible en Express Edition de MSVC++ 2005 y MSVC++ 2008. –

+0

Elegí la respuesta de Nescio por su simplicidad. Pero, el tuyo también es genial y será aplicable cuando * * no deseo alarma en cada punto de interrupción. –

+0

Rápido y sucio a menudo gana el día. –

Cuestiones relacionadas