MCPcopy Create free account
hub / github.com/WinMerge/winmerge / OnCallstackEntry

Method OnCallstackEntry

Externals/StackWalker/Main/StackWalker/StackWalker.cpp:1606–1635  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1604}
1605
1606void StackWalker::OnCallstackEntry(CallstackEntryType eType, CallstackEntry& entry)
1607{
1608 CHAR buffer[STACKWALK_MAX_NAMELEN];
1609 size_t maxLen = STACKWALK_MAX_NAMELEN;
1610#if _MSC_VER >= 1400
1611 maxLen = _TRUNCATE;
1612#endif
1613 if ((eType != lastEntry) && (entry.offset != 0))
1614 {
1615 if (entry.name[0] == 0)
1616 MyStrCpy(entry.name, STACKWALK_MAX_NAMELEN, "(function-name not available)");
1617 if (entry.undName[0] != 0)
1618 MyStrCpy(entry.name, STACKWALK_MAX_NAMELEN, entry.undName);
1619 if (entry.undFullName[0] != 0)
1620 MyStrCpy(entry.name, STACKWALK_MAX_NAMELEN, entry.undFullName);
1621 if (entry.lineFileName[0] == 0)
1622 {
1623 MyStrCpy(entry.lineFileName, STACKWALK_MAX_NAMELEN, "(filename not available)");
1624 if (entry.moduleName[0] == 0)
1625 MyStrCpy(entry.moduleName, STACKWALK_MAX_NAMELEN, "(module-name not available)");
1626 _snprintf_s(buffer, maxLen, "%p (%s): %s: %s\n", (LPVOID)entry.offset, entry.moduleName,
1627 entry.lineFileName, entry.name);
1628 }
1629 else
1630 _snprintf_s(buffer, maxLen, "%s (%d): %s\n", entry.lineFileName, entry.lineNumber,
1631 entry.name);
1632 buffer[STACKWALK_MAX_NAMELEN - 1] = 0;
1633 OnOutput(buffer);
1634 }
1635}
1636
1637void StackWalker::OnDbgHelpErr(LPCSTR szFuncName, DWORD gle, DWORD64 addr)
1638{

Callers 1

StackWalker.cppFile · 0.80

Calls 1

MyStrCpyFunction · 0.85

Tested by

no test coverage detected