diff --git a/ide/src/trace/component/SpSystemTrace.ts b/ide/src/trace/component/SpSystemTrace.ts index bd4bac7e0372877a040ae373a9609980262eda2d..8549716b1ddf1e815fdcb859422f931e5963cdef 100644 --- a/ide/src/trace/component/SpSystemTrace.ts +++ b/ide/src/trace/component/SpSystemTrace.ts @@ -2532,15 +2532,21 @@ export class SpSystemTrace extends BaseElement { // 判断点击的线程是否在唤醒树内 let timeoutJudge = setTimeout(() => { if (SpSystemTrace.wakeupList.length && CpuStruct.selectCpuStruct) { - let checkHandlerKey = true; + let checkHandlerKey:boolean = true; + let saveSelectCpuStruct:any = JSON.parse(sessionStorage.getItem('saveselectcpustruct')!) for (const item of SpSystemTrace.wakeupList) { if (item.ts === CpuStruct.selectCpuStruct.startTime && item.dur === CpuStruct.selectCpuStruct.dur) { checkHandlerKey = false; if (SpSystemTrace.wakeupList[0].schedulingDesc) { - SpSystemTrace.wakeupList.unshift(JSON.parse(sessionStorage.getItem('saveselectcpustruct')!)) + SpSystemTrace.wakeupList.unshift(saveSelectCpuStruct) } this.refreshCanvas(true); break; + }else if (saveSelectCpuStruct.startTime === CpuStruct.selectCpuStruct.startTime && saveSelectCpuStruct.dur === CpuStruct.selectCpuStruct.dur) { + // 如果点击的是第一层,保持唤醒树不变 + checkHandlerKey = false; + this.refreshCanvas(true) + break; } } // 点击线程在唤醒树内