MCPcopy Create free account
hub / github.com/JochenKalmbach/StackWalker / OnCallstackEntry

Method OnCallstackEntry

Main/StackWalker/StackWalker.cpp:1377–1406  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1375}
1376
1377void StackWalker::OnCallstackEntry(CallstackEntryType eType, CallstackEntry& entry)
1378{
1379 CHAR buffer[STACKWALK_MAX_NAMELEN];
1380 size_t maxLen = STACKWALK_MAX_NAMELEN;
1381#if _MSC_VER >= 1400
1382 maxLen = _TRUNCATE;
1383#endif
1384 if ((eType != lastEntry) && (entry.offset != 0))
1385 {
1386 if (entry.name[0] == 0)
1387 MyStrCpy(entry.name, STACKWALK_MAX_NAMELEN, "(function-name not available)");
1388 if (entry.undName[0] != 0)
1389 MyStrCpy(entry.name, STACKWALK_MAX_NAMELEN, entry.undName);
1390 if (entry.undFullName[0] != 0)
1391 MyStrCpy(entry.name, STACKWALK_MAX_NAMELEN, entry.undFullName);
1392 if (entry.lineFileName[0] == 0)
1393 {
1394 MyStrCpy(entry.lineFileName, STACKWALK_MAX_NAMELEN, "(filename not available)");
1395 if (entry.moduleName[0] == 0)
1396 MyStrCpy(entry.moduleName, STACKWALK_MAX_NAMELEN, "(module-name not available)");
1397 _snprintf_s(buffer, maxLen, "%p (%s): %s: %s\n", (LPVOID)entry.offset, entry.moduleName,
1398 entry.lineFileName, entry.name);
1399 }
1400 else
1401 _snprintf_s(buffer, maxLen, "%s (%d): %s\n", entry.lineFileName, entry.lineNumber,
1402 entry.name);
1403 buffer[STACKWALK_MAX_NAMELEN - 1] = 0;
1404 OnOutput(buffer);
1405 }
1406}
1407
1408void StackWalker::OnDbgHelpErr(LPCSTR szFuncName, DWORD gle, DWORD64 addr)
1409{

Callers 1

StackWalker.cppFile · 0.80

Calls 1

MyStrCpyFunction · 0.85

Tested by

no test coverage detected