diff --git a/tools/process_dump/coredump/dfx_coredump_service.cpp b/tools/process_dump/coredump/dfx_coredump_service.cpp index d4c06f2bbc741cce203d925fe292e9dec73efaf5..236a4b662cea10a61e7183975a90ef9bcfd45716 100644 --- a/tools/process_dump/coredump/dfx_coredump_service.cpp +++ b/tools/process_dump/coredump/dfx_coredump_service.cpp @@ -478,7 +478,8 @@ uint64_t CoreDumpService::GetCoreFileSize(pid_t pid) lineNumber += 1; ObtainDumpRegion(line, region); maps_.push_back(region); - if (!strcmp(region.pathName, "[vvar]") || region.priority[0] != 'r' || strstr(region.pathName, "CMCGC")) { + std::string pri(region.priority); + if (pri.find('r') == std::string::npos || pri.find('p') == std::string::npos) { continue; } coreFileSize += region.memorySizeHex; diff --git a/tools/process_dump/coredump/dfx_coredump_writer.cpp b/tools/process_dump/coredump/dfx_coredump_writer.cpp index 06acac2d747c9e1ecc53a7263c99a4f608892877..57ff8f13642d045fc7bd4cd5651ac43db33c3841 100644 --- a/tools/process_dump/coredump/dfx_coredump_writer.cpp +++ b/tools/process_dump/coredump/dfx_coredump_writer.cpp @@ -63,7 +63,8 @@ char* ProgramSegmentHeaderWriter::Write() Elf64_Half lineNumber = 1; for (const auto ®ion : maps_) { - if (!strcmp(region.pathName, "[vvar]") || (region.priority[0] != 'r') || strstr(region.pathName, "CMCGC")) { + std::string pri(region.priority); + if (pri.find('r') == std::string::npos || pri.find('p') == std::string::npos) { continue; } PtLoadFill(ptLoad, region);