小编Aar*_*ron的帖子

如何在Visual Studio 2005的错误列表的"消息"窗格中显示输出?

我有一个像这样的头文件:

#ifndef __GEN_NOTE_MARKERS_TO_DEVELOPERS_HPP__
#define __GEN_NOTE_MARKERS_TO_DEVELOPERS_HPP__

  #ifdef _DEBUG

    // macros for turning a number into a string
    #define STRING2(x)  #x
    #define STRING(x)  STRING2(x)

    #ifdef TRIAGE_MESG_AS_WARNING
      #define TRIAGE_TODO_TAG(description)    __pragma(message(__FILE__"("STRING(__LINE__)") : warning : TRIAGE TO-DO: " STRING(description) ))
      #define TRIAGE_FIXTHIS_TAG(description) __pragma(message(__FILE__"("STRING(__LINE__)") : warning : TRIAGE FIXTHIS: " STRING(description) ))
    #else
      #define TRIAGE_TODO_TAG(description)    __pragma(message(__FILE__"("STRING(__LINE__)") : message : TRIAGE TO-DO: " STRING(description) ))
      #define TRIAGE_FIXTHIS_TAG(description) __pragma(message(__FILE__"("STRING(__LINE__)") : message : TRIAGE FIXTHIS: " STRING(description) ))
    #endif
  #else
    #define TRIAGE_TODO_TAG(description)
    #define TRIAGE_FIXTHIS_TAG(description)
  #endif

#endif // __GEN_NOTE_MARKERS_TO_DEVELOPERS_HPP__
Run Code Online (Sandbox Code Playgroud)

它将注释输出到Visual …

windows visual-studio visual-c++

21
推荐指数
1
解决办法
4723
查看次数

如何保证在Visual Studio 2005下在C++中捕获EXCEPTION_STACK_OVERFLOW结构化异常?

背景

  • 我有一个Poof-Crash的应用程序[ 1 ].我很确定这是因为堆栈爆炸.
  • 该应用程序是多线程的.
  • 我正在编译" Enable C++ Exceptions: Yes With SEH Exceptions (/EHa)".
  • 我写了一个SE翻译功能并_set_se_translator()用它调用.
  • 我已经写了功能和设置set_terminate()set_unexpected().
  • 为了获得Stack Overflow,我必须在高负载下以释放模式运行几天.在调试器下运行不是一个选项,因为应用程序执行速度不足以达到查看问题所需的运行时间.
  • 我可以通过在执行其中一个函数时添加无限递归来模拟该问题,从而测试EXCEPTION_STACK_OVERFLOW异常的捕获.
  • 我将WinDBG设置为崩溃转储程序,并获取所有其他崩溃问题的良好信息,但不是这个.崩溃转储只包含一个线程,即'Sleep()'.所有其他线程已退出.

问题

我尝试的所有事情都没有导致EXCEPTION_STACK_OVERFLOW异常.

有没有人知道如何保证在发布模式的运行时期间有机会获得此异常?

定义

  1. Poof-Crash:应用程序因"poof"崩溃而消失得无影无踪.

(考虑到这个网站的名称,我有点惊讶这个问题已不在这里了!)

笔记

  1. 简要介绍了有关调整堆栈大小的答案,以便更快地强制解决问题并允许使用调试器捕获它.这是一个聪明的想法,但不幸的是,我不相信它会有所帮助.这个问题很可能是由一个导致无限递归的极端情况引起的.缩短堆栈不会更快地暴露问题,并且可能导致有效深度代码中的无关崩溃.不错的想法,并感谢发布它,即使你删除它.

c++ stack-overflow debugging exception-handling structured-exception

6
推荐指数
1
解决办法
2605
查看次数

在Opera或Firefox中加载后,如何在网站上修补客户端javascript?

有一个我必须用于工作的特定网站,绝对令人发指并被所有必须使用它的人所鄙视.特别是,该网站的Javascript从根本上被打破,仅适用于IE,这几乎使它成为我必须在我喜欢的浏览器之外使用的唯一网站.

所以,问题.如果我能够以" 做正确的事 " 的方式加载网站之后" 修补 "javascript ,那么我可以在没有IE的情况下使用该网站.

(只是为了删除一些多余的答案:我已经尝试将两个浏览器屏蔽为IE,这没有任何效果,因为问题在于javascript,而不是服务器上的浏览器检测.)

我更喜欢Opera的解决方案,尽管我并不反对Firefox的答案.此外,我宁愿不必通过代理查看网站,但我会接受这样的答案.

javascript firefox opera

4
推荐指数
1
解决办法
957
查看次数