MCPcopy Create free account
hub / github.com/boostorg/build / GetModuleNameFromAddress

Function GetModuleNameFromAddress

v2/engine/boehm_gc/msvc_dbg.c:159–179  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

157}
158
159size_t GetModuleNameFromAddress(void* address, char* moduleName, size_t size)
160{
161 if (size) *moduleName = 0;
162 {
163 const char* sourceName;
164 IMAGEHLP_MODULE moduleInfo = { sizeof (moduleInfo) };
165 if (!SymGetModuleInfo(GetSymHandle(), CheckAddress(address), &moduleInfo)) {
166 return 0;
167 }
168 sourceName = strrchr(moduleInfo.ImageName, '\\');
169 if (sourceName) {
170 sourceName++;
171 } else {
172 sourceName = moduleInfo.ImageName;
173 }
174 if (size) {
175 strncpy(moduleName, sourceName, size)[size - 1] = 0;
176 }
177 return strlen(sourceName);
178 }
179}
180
181size_t GetModuleNameFromStack(size_t skip, char* moduleName, size_t size)
182{

Callers 2

GetModuleNameFromStackFunction · 0.85

Calls 2

GetSymHandleFunction · 0.85
CheckAddressFunction · 0.85

Tested by

no test coverage detected