【问题标题】:Visual Studio: How to trigger an alarm when a breakpoint is hit?Visual Studio:遇到断点时如何触发警报?
【发布时间】:2010-09-09 23:34:44
【问题描述】:

有没有办法在我的断点被击中时触发哔声/警报/声音?我正在使用 Visual Studio 2005/2008。

【问题讨论】:

  • 您能否详细说明您为什么需要这个?我认为不存在这样的“警报”功能,但如果您向我们提供您为什么需要此功能的场景,我们可能会为您提供另一种解决方案。
  • 我在 PC 上的相邻多维数据集中测试我的代码,并且在我的调试断点被命中之前需要一段时间。所以,当我在自己的电脑上时,我想知道我的断点何时被击中。一个简短的声音警报甚至是哔哔声就足够了。
  • * 需要重新启动 Visual Studio 才能使这些设置生效(VS2010) - 这也是您需要去启用“成功”或“失败”构建噪音的地方

标签: visual-studio breakpoints


【解决方案1】:

您可以创建一个响应断点触发而运行的宏。在您的宏中,您可以做任何事情来发出哔哔声。

【讨论】:

    【解决方案2】:

    Windows XP

    控制面板 -> 声音和音频... -> 程序事件 - Microsoft 开发人员 -> 断点命中

    Windows 7

    控制面板 -> 所有控制面板项 -> 声音 -> 声音(选项卡) - Microsoft Visual Studio -> 断点命中

    【讨论】:

    • 我曾经将“构建失败”的声音设置为汤姆汉克斯的“休斯顿我们有问题”。是的,我知道这很愚蠢,但它成功地惹恼了我的同事。 :)
    • 在 Win 10 中你会发现这样的设置:设置 -> 个性化 -> 主题 -> 高级声音设置 -> Microsoft Visual Studio -> 断点命中
    • 这是完美的。我需要这个用于长时间运行的过程,其中断点可能每 10 分钟左右被击中一次......很高兴能够在此过程中做其他事情。
    • 在 Windows 2016、VS2015 上仍然有用!谢谢!
    【解决方案3】:

    是的,您可以使用分配给断点的宏来执行此操作。这适用于 VS 2005,我认为 2008 也可以。我假设您不希望在每个断点上都有声音,否则其他答案会正常工作。可能有一种方法可以播放特定的声音,但我没有那么努力。以下是基本步骤:

    添加新的宏模块(代码下方的步骤)

    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. 工具 => 宏 => 宏 IDE
    2. 我的宏(在项目资源管理器中)=> 添加新模块 => 名称:“Beeps”
    3. 把上面的代码复制进去,有2个方法
      1. 第一个使用窗口“哔”声
      2. 第二个强制发出“哔”声,而不是 .wav 文件。这适用于禁用所有声音(例如控制面板 -> 声音 -> 声音方案:无声音),但听起来很难看。
    4. 在 VS.Net(不是宏 IDE)中查看宏资源管理器以确保它存在 :)

    分配给断点

    1. 为一行添加断点
    2. 右键点击小红点
    3. 选择“点击时”
    4. 选中该框以启用宏
    5. 从下拉菜单中选择您的宏
    6. 如果您想停止,请取消选中“继续执行”。默认勾选。

    此外,种方法可以播放任意 wav 文件,但这对于警报来说似乎太过分了。也许强制“哔”是最好的,因为至少听起来与丁不同。

    【讨论】:

    • 注意:不幸的是,“运行宏”复选框在 MSVC++2005 和 MSVC++2008 的快捷版上不可用。
    • 我选择 Nescio 的答案是因为它的简单性。但是,你的也很酷,当我希望在每个断点上都发出警报时将适用。
    • 快速而肮脏的往往会赢得胜利。
    • 感谢 Andrew 提供彻底而强大的解决方案。我想为其他可能尝试将您的解决方案基于其他宏的人添加一件事,就像我尝试做的那样。似乎不可能创建一个接受参数的宏方法并在断点的“当命中”选项中使用它。我试图实现它几个小时,直到我发现我的宏一旦需要一个参数就会从列表中消失。
    • 感谢您的客气话。我从来没有真正为 VS 编写宏,所以我没有遇到过。对excel来说很多。我想知道它是否从列表中消失了,但您仍然可以以某种方式调用它,或者就 vs 而言,它是否真的消失了
    【解决方案4】:

    目前在 Insiders Build v1.64 中,预计将于 2022 年 2 月上旬稳定版。

    设置:Audio Cues: Enabled

    auto:默认 - Enable audio cues when a screen reader is attached
    onEnable audio cues
    offDisable audio cues

    我正在使用on,当遇到断点时,我会听到声音提示。出于某种原因,我必须将音量设置得很高才能听到 - 但也许这只是我的设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-26
      • 2023-04-10
      • 2011-08-31
      • 1970-01-01
      • 2022-11-17
      • 2021-07-12
      • 1970-01-01
      相关资源
      最近更新 更多