- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想通过一个我只想记录字符串的附加组件来扩展我的事件日志(Windows 事件跟踪)。我正在使用如下代码。
#include <Evntprov.h>
#include <evntrace.h>
#include <minwindef.h>
// {38F4122A-4D8C-465A-9EFC-F7E632A84ABF}
static const GUID MyApplicationGuid = { 0x38f4122a, 0x4d8c, 0x465a, { 0x9e, 0xfc, 0xf7, 0xe6, 0x32, 0xa8, 0x4a, 0xbf } };
REGHANDLE regHandle = nullptr;
EventRegister(MyApplicationGuid, nil, nil, ®Handle);
EventWriteString(regHandle, TRACE_LEVEL_INFORMATION, 0x0, L"Hello");
EventWriteString(regHandle, TRACE_LEVEL_INFORMATION, 0x0, L", ");
EventWriteString(regHandle, TRACE_LEVEL_INFORMATION, 0x0, L"world");
EventWriteString(regHandle, TRACE_LEVEL_INFORMATION, 0x0, L"!");
EventUnregister(regHandle);
我已经注册了一个正确显示的提供程序,并且这些事件作为通用事件作为 etl 日志文件的一部分。到目前为止,一切似乎都很好,但是当我想将消息添加为一列时,我无法看到记录的字符串,因为它们存储在二进制有效负载元素中。
我有一种方法可以定义事件/模板,以将使用 EventWriteString 完成的跟踪格式化为消息字符串。类似“%1”的东西? ( header 属性 STRING_ONLY 是自动设置的。)
最佳答案
发现添加 ID 为 0 的事件和单个字符串输出将在“Microsoft Messge Analyzer”中显示字符串。
将以下内容添加到您的 list 中。
<?xml version="1.0" encoding="UTF-16"?>
<instrumentationManifest xsi:schemaLocation="http://schemas.microsoft.com/win/2004/08/events eventman.xsd" xmlns="http://schemas.microsoft.com/win/2004/08/events" xmlns:win="http://manifests.microsoft.com/win/2004/08/windows/events" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:trace="http://schemas.microsoft.com/win/2004/08/events/trace">
<instrumentation>
<events>
<provider name="COMPANY-PRODUCT-PART" guid="{??????-????-????-????-????????????}" symbol="COMPANY_PRODUCT_PART" resourceFileName="UNKNOWN.dll" messageFileName="UNKNOWN.dll">
<events>
<event symbol="DbgStr" value="0" version="0" template="OneStringParamTemplate" message="$(string.Product.1.message)">
</event>
</events>
<templates>
<template tid="OneStringParamTemplate">
<data name="param" inType="win:UnicodeString" outType="xs:string">
</data>
</template>
</templates>
</provider>
</events>
</instrumentation>
<localization>
<resources culture="en-US">
<stringTable>
<string id="Product.1.message" value="%1">
</string>
</stringTable>
</resources>
</localization>
</instrumentationManifest>
关于c++ - 为什么 ETW EventWriteString 有二进制负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33301663/
我目前正在使用 Microsoft 网络监视器来解析调试事件跟踪。它不是一个坏工具,但也不是很好。你知道一些更好的解决方案吗? 最佳答案 这些是用于探索自定义 ETW 跟踪的读者: SvcPerf -
我正在使用 Windows API 的事件跟踪,并且不时运行我的应用程序,但它在打开 ETW 跟踪 Controller session 后无法关闭它。 基本上我做::StartTrace([out]
问题:如何查看所有打开的 ETW session ,包括其根路径?我期望一些 PowerShell 命令,如 Get-EtwTraceSession ,但我没有看到任何内容。 背景 我使用 Event
性能计数器是 ETW 的一部分吗?如果不是,两者有什么区别? 最佳答案 性能计数器和 ETW 是不同的技术。性能计数器不通过 ETW 公开。 基本区别:性能计数器提供有关系统行为的高级度量(想想计时器
我正在使用新的 EventSource 类从我的应用程序写入 Windows 事件日志,到目前为止它很棒。但是,我观察到有两件事会导致可能相关的问题:传递给 Event 属性的格式字符串在写入事件日志
我打算使用 ETW,因为它: 强制构建日志记录 低延迟 在另一个进程上消费事件的能力 想法是使用语义日志应用程序 block 等外部进程使用 ETW 事件,并将这些事件转发到中央位置。 我的问题是。如
我有一个使用 native 插件的应用程序。对于这些插件,我有自己的二进制格式。每个插件都在运行时使用类似于将 DLL 映射到进程空间的方法加载。这意味着,每个插件都有自己的 ImageBase,.t
我们使用 AppFabric Monitoring 来检查执行时间并跟踪日志消息。这在一年后运行良好,但一些服务器突然停止监视我们的 WCF 服务。 我在 AppFabric 监控方面有一些经验,并且
我为 CLR 提供程序记录 ETW 事件: xperf -start clr -on e13c0d23-ccbc-4e12-931b-d9cc2eee27e4 -f clr.etl ... xperf
是否有使用 ETW 记录异常的标准方法? 据我所知,这样做的唯一方法是记录消息和可能的内部异常消息,因为异常类型没有强类型参数。 最佳答案 启用时,所有 CLR 异常(第一次机会,以及可能最终导致应用
我正在尝试让我的 Azure 辅助角色的日志出现在 Application Insights 中。当我运行 Get-AzureServiceDiagnosticsExtension 时,我得到以下信息
如何确定 ETW session 是否正在丢弃事件? 如果正在丢弃事件,我如何配置跟踪 session 以便事件不被丢弃? 我编写了一个自定义 ETW 提供程序来帮助进行一些调试工作。我目前正在使用
任务并行库使用 Event Tracing for Windows (ETW)用于记录。显然,在 Windows Phone 或 Windows Store .NET Runtime 下,TPL 或
我想实现一个 ETW C 中的消费者用于来自 Microsoft-Windows-TCPIP 提供程序的事件。但是,我找不到此提供程序生成的事件类型。 我已经做了一些类似的工作来使用来自 Micros
这个问题在这里已经有了答案: How do I log events in Windows IoT? (1 个回答) 关闭 5 年前。 我正在为 Windows 10 IoT 开发基于 UWP 的应
一些人告诉我,ETW 提供了一种机制来捕获用户模式进程进行的系统调用。我已经列举了可用的提供者,并且只提出了两个可能提供此信息的可能性。第一个是 Microsoft-Windows-Kernel-Au
在不使用 list 的情况下卸载/删除以前安装的事件源的最佳方法是什么? 例如。如果我有类似的东西: [EventSource(Name = "Corporation-Module-X")]
我正在尝试使用新的 EventSource(来自 nuget 的 Microsoft.Diagnostics.Tracing.EventSource)及其对 ETW channel 的新支持,以便写入
我们刚刚开始使用 Service Fabric,到目前为止唯一的痛点是使用 WAD 进行 ETW,它似乎总是因丢失数据(消息、事件消息)而注销。 到目前为止,我们的经验是它在 Visual Studi
我们刚刚开始使用 Service Fabric,到目前为止唯一的痛点是使用 WAD 进行 ETW,它似乎总是因丢失数据(消息、事件消息)而注销。 到目前为止,我们的经验是它在 Visual Studi
我是一名优秀的程序员,十分优秀!