src,etw: fix event 9 on 64 bit Windows
The event manifest specifies the MethodID field as a 32 bit integer. The 32 bit node executable publishes this correctly, but the 64 bit executable published a 64 bit integer, making the event undecodable. PR-URL: https://github.com/nodejs/node/pull/15563 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Hitesh Kanwathirtha <hiteshk@microsoft.com>
This commit is contained in:
parent
51bc7fa598
commit
510cab7a3d
@ -27,12 +27,6 @@
|
||||
#include "node_win32_etw_provider.h"
|
||||
#include "node_etw_provider.h"
|
||||
|
||||
#if defined(_WIN64)
|
||||
# define ETW_WRITE_INTPTR_DATA ETW_WRITE_INT64_DATA
|
||||
#else
|
||||
# define ETW_WRITE_INTPTR_DATA ETW_WRITE_INT32_DATA
|
||||
#endif
|
||||
|
||||
namespace node {
|
||||
|
||||
// From node_win32_etw_provider.cc
|
||||
@ -100,7 +94,7 @@ extern int events_enabled;
|
||||
ETW_WRITE_ADDRESS_DATA(descriptors, &context); \
|
||||
ETW_WRITE_ADDRESS_DATA(descriptors + 1, &startAddr); \
|
||||
ETW_WRITE_INT64_DATA(descriptors + 2, &size); \
|
||||
ETW_WRITE_INTPTR_DATA(descriptors + 3, &id); \
|
||||
ETW_WRITE_INT32_DATA(descriptors + 3, &id); \
|
||||
ETW_WRITE_INT16_DATA(descriptors + 4, &flags); \
|
||||
ETW_WRITE_INT16_DATA(descriptors + 5, &rangeId); \
|
||||
ETW_WRITE_INT64_DATA(descriptors + 6, &sourceId); \
|
||||
@ -253,7 +247,7 @@ void NODE_V8SYMBOL_ADD(LPCSTR symbol,
|
||||
}
|
||||
void* context = nullptr;
|
||||
INT64 size = (INT64)len;
|
||||
INT_PTR id = (INT_PTR)addr1;
|
||||
INT32 id = (INT32)addr1;
|
||||
INT16 flags = 0;
|
||||
INT16 rangeid = 1;
|
||||
INT32 col = 1;
|
||||
|
Loading…
x
Reference in New Issue
Block a user