首页> 外文期刊>C - C++ Users Journal >Tracing Application Execution
【24h】

Tracing Application Execution

机译:跟踪应用程序执行

获取原文
获取原文并翻译 | 示例

摘要

The most common and effective way to debug and get information about applications is to use some form of tracing. However, dumping traces to output devices (files or screens) can dramatically reduce an application's performance. In this article, I'll present a technique that transforms tracing from a "heavy" to "light" operation, so that traces can be used without interfering with the application's main tasks. I've used this "light trace" technique in applications ranging from telecommunications systems to semiconductor diagnostic tools. The utility is written in C++ and compiled with Visual C++ 6 under Windows 2000. To simplify the code, error checking isn't performed. A traditional trace is dumped when the application sends the trace directly to the output device (see Figure 1). This form of tracing affects the performance of applications, especially if traces are heavily used, and creates problems in real-time applications. With light traces, the trace is dumped to an internal buffer instead of dumping directly to output devices. A thread, which runs in low priority, retrieves the trace from the buffer, then dumps it to the output device; see Figure 2.
机译:调试和获取有关应用程序信息的最常见,最有效的方法是使用某种形式的跟踪。但是,将跟踪信息转储到输出设备(文件或屏幕)会大大降低应用程序的性能。在本文中,我将介绍一种将跟踪从“繁重”转换为“轻”操作的技术,以便可以在不干扰应用程序主要任务的情况下使用跟踪。我已经在从电信系统到半导体诊断工具的各种应用中使用了这种“光跟踪”技术。该实用程序用C ++编写,并在Windows 2000下用Visual C ++ 6进行编译。为了简化代码,不执行错误检查。当应用程序将跟踪直接发送到输出设备时,传统跟踪将被转储(参见图1)。这种跟踪形式会影响应用程序的性能,尤其是在跟踪使用量很大的情况下,并在实时应用程序中造成问题。对于光迹线,该迹线将转储到内部缓冲区,而不是直接转储到输出设备。低优先级运行的线程从缓冲区中检索跟踪,然后将其转储到输出设备。参见图2。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号