mirror of
https://gitee.com/openharmony/developtools_hiperf
synced 2025-02-12 20:01:20 +00:00
!690 judge map execuable before call CreateFromHap
Merge pull request !690 from yuyanqing/master
This commit is contained in:
commit
02a084254a
1
BUILD.gn
1
BUILD.gn
@ -416,6 +416,7 @@ ohos_executable("hiperf") {
|
||||
"faultloggerd:libunwinder",
|
||||
"hilog:libhilog",
|
||||
"hisysevent:libhisysevent",
|
||||
"ipc:ipc_single",
|
||||
"protobuf:protobuf_lite",
|
||||
]
|
||||
|
||||
|
@ -231,7 +231,14 @@ protected:
|
||||
}
|
||||
if (elfFile_ == nullptr) {
|
||||
if (StringEndsWith(elfPath, ".hap")) {
|
||||
CHECK_TRUE(map == nullptr, false, 1, "map should not be nullptr.");
|
||||
if (map == nullptr) {
|
||||
HLOGW("map should not be nullptr.");
|
||||
return false;
|
||||
}
|
||||
if (!map->IsMapExec()) {
|
||||
HLOGW("map is not exec, no need parse elf.");
|
||||
return false;
|
||||
}
|
||||
elfFile_ = DfxElf::CreateFromHap(elfPath, map->prevMap, map->offset);
|
||||
HLOGD("try create elf from hap");
|
||||
} else {
|
||||
@ -415,6 +422,10 @@ private:
|
||||
#endif
|
||||
if (elfFile_ == nullptr) {
|
||||
if (StringEndsWith(elfPath, ".hap") && map != nullptr) {
|
||||
if (!map->IsMapExec()) {
|
||||
HLOGW("map is not exec, no need parse elf.");
|
||||
return false;
|
||||
}
|
||||
elfFile_ = DfxElf::CreateFromHap(elfPath, map->prevMap, map->offset);
|
||||
map->elf = elfFile_;
|
||||
} else {
|
||||
@ -974,7 +985,7 @@ public:
|
||||
}
|
||||
CHECK_TRUE(!onRecording_, true, 0, "");
|
||||
|
||||
if (!IsHapAbc()) {
|
||||
if (!IsHapAbc() && map_->IsMapExec()) {
|
||||
ElfFileSymbols::LoadDebugInfo(map, "");
|
||||
}
|
||||
debugInfoLoaded_ = true;
|
||||
@ -987,7 +998,7 @@ public:
|
||||
HLOGD("map ptr:%p, map name:%s", map.get(), map->name.c_str());
|
||||
CHECK_TRUE(symbolsLoaded_ || !onRecording_, true, 0, "");
|
||||
symbolsLoaded_ = true;
|
||||
if (!IsHapAbc()) {
|
||||
if (!IsHapAbc() && map_->IsMapExec()) {
|
||||
ElfFileSymbols::LoadSymbols(map, "");
|
||||
}
|
||||
return true;
|
||||
|
@ -103,6 +103,7 @@ ohos_unittest("hiperf_unittest") {
|
||||
"faultloggerd:libunwinder",
|
||||
"googletest:gmock",
|
||||
"hilog:libhilog",
|
||||
"ipc:ipc_single",
|
||||
"protobuf:protobuf_lite",
|
||||
]
|
||||
cflags = [
|
||||
@ -132,6 +133,7 @@ ohos_fuzztest("CommandLineFuzzTest") {
|
||||
"c_utils:utils",
|
||||
"faultloggerd:libunwinder",
|
||||
"hilog:libhilog",
|
||||
"ipc:ipc_single",
|
||||
"protobuf:protobuf_lite",
|
||||
]
|
||||
defines = [ "FUZZER_TEST" ]
|
||||
@ -151,6 +153,7 @@ ohos_fuzztest("LibReportFuzzTest") {
|
||||
"bounds_checking_function:libsec_shared",
|
||||
"c_utils:utils",
|
||||
"hilog:libhilog",
|
||||
"ipc:ipc_single",
|
||||
"protobuf:protobuf_lite",
|
||||
]
|
||||
defines = [ "FUZZER_TEST" ]
|
||||
@ -167,6 +170,7 @@ ohos_fuzztest("ClientApiFuzzTest") {
|
||||
"bounds_checking_function:libsec_shared",
|
||||
"c_utils:utils",
|
||||
"hilog:libhilog",
|
||||
"ipc:ipc_single",
|
||||
"protobuf:protobuf_lite",
|
||||
]
|
||||
defines = [ "FUZZER_TEST" ]
|
||||
@ -183,6 +187,7 @@ ohos_fuzztest("SpeDecoderFuzzTest") {
|
||||
"bounds_checking_function:libsec_shared",
|
||||
"c_utils:utils",
|
||||
"hilog:libhilog",
|
||||
"ipc:ipc_single",
|
||||
"protobuf:protobuf_lite",
|
||||
]
|
||||
defines = [ "FUZZER_TEST" ]
|
||||
@ -201,6 +206,7 @@ ohos_fuzztest("PerfFileFuzzTest") {
|
||||
"c_utils:utils",
|
||||
"faultloggerd:libunwinder",
|
||||
"hilog:libhilog",
|
||||
"ipc:ipc_single",
|
||||
"protobuf:protobuf_lite",
|
||||
]
|
||||
defines = [ "FUZZER_TEST" ]
|
||||
@ -218,6 +224,7 @@ ohos_fuzztest("PerfFileFormatFuzzTest") {
|
||||
"c_utils:utils",
|
||||
"faultloggerd:libunwinder",
|
||||
"hilog:libhilog",
|
||||
"ipc:ipc_single",
|
||||
"protobuf:protobuf_lite",
|
||||
]
|
||||
defines = [ "FUZZER_TEST" ]
|
||||
|
@ -811,9 +811,11 @@ HWTEST_F(SymbolsFileTest, CreateSymbolsFile, TestSize.Level1)
|
||||
EXPECT_NE(SymbolsFile::CreateSymbolsFile(), nullptr);
|
||||
EXPECT_NE(SymbolsFile::CreateSymbolsFile(SYMBOL_KERNEL_FILE), nullptr);
|
||||
EXPECT_NE(SymbolsFile::CreateSymbolsFile(SYMBOL_KERNEL_MODULE_FILE), nullptr);
|
||||
EXPECT_NE(SymbolsFile::CreateSymbolsFile(SYMBOL_KERNEL_THREAD_FILE), nullptr);
|
||||
EXPECT_NE(SymbolsFile::CreateSymbolsFile(SYMBOL_ELF_FILE), nullptr);
|
||||
EXPECT_NE(SymbolsFile::CreateSymbolsFile(SYMBOL_JAVA_FILE), nullptr);
|
||||
EXPECT_NE(SymbolsFile::CreateSymbolsFile(SYMBOL_JS_FILE), nullptr);
|
||||
EXPECT_NE(SymbolsFile::CreateSymbolsFile(SYMBOL_HAP_FILE), nullptr);
|
||||
EXPECT_NE(SymbolsFile::CreateSymbolsFile(SYMBOL_UNKNOW_FILE), nullptr);
|
||||
EXPECT_NE(SymbolsFile::CreateSymbolsFile(SymbolsFileType(-1)), nullptr);
|
||||
EXPECT_EQ(SymbolsFile::CreateSymbolsFile(SymbolsFileType(-2))->symbolFileType_,
|
||||
|
@ -811,6 +811,21 @@ HWTEST_F(UtilitiesTest, IsSameCommand2, TestSize.Level1)
|
||||
v = {"", "a"};
|
||||
EXPECT_EQ(IsSameCommand("a", v), true);
|
||||
}
|
||||
|
||||
/**
|
||||
* @tc.name: IsArkJsFile
|
||||
* @tc.desc:
|
||||
* @tc.type: FUNC
|
||||
*/
|
||||
HWTEST_F(UtilitiesTest, IsArkJsFile, TestSize.Level1)
|
||||
{
|
||||
EXPECT_EQ(IsArkJsFile("test.hap"), true);
|
||||
EXPECT_EQ(IsArkJsFile("[anon:ArkTS Code:test.so/buffer.js]"), true);
|
||||
EXPECT_EQ(IsArkJsFile("test.hsp"), true);
|
||||
EXPECT_EQ(IsArkJsFile("test.abc"), true);
|
||||
EXPECT_EQ(IsArkJsFile("test.hqf"), true);
|
||||
EXPECT_EQ(IsArkJsFile("test.so"), false);
|
||||
}
|
||||
} // namespace HiPerf
|
||||
} // namespace Developtools
|
||||
} // namespace OHOS
|
||||
|
Loading…
x
Reference in New Issue
Block a user