본문으로 건너뛰기
cccskills
무료GitHub에 공개한국어 소개

node-inspect-debugger

Node.js 실행을 일시 중지하고 변수와 실행 경로를 조사합니다. 비동기 작업 중단, 간헐적 테스트 실패, 메모리 증가와 CPU 부하의 원인을 찾는 데 사용합니다.

원문원문 설명 보기

Debug Node.js with node inspect, --inspect, breakpoints, CDP, heap, and CPU profiles.

AI 평가90점/ 100설치 방법 보기

이럴 때 유용합니다

  • 비동기 작업이 멈추는 원인 조사
  • 간헐적으로 실패하는 테스트 조사
  • 시작 시점과 자식 프로세스 문제 조사
  • 메모리 증가와 CPU 부하 원인 조사

한국어 소개

할 수 있는 일

Node.js 실행을 일시 중지하여 변수 값과 처리 흐름을 조사합니다. 먼저 node inspect를 사용하며, 실행을 멈출 위치인 중단점을 설정하거나 코드를 한 단계씩 실행하면서 원인을 추적합니다. 필요하면 Chrome DevTools Protocol로 디버거를 프로그램에서 제어하여 중단 시점의 상태, 메모리 스냅샷, CPU 실행 시간 기록도 수집합니다.

이럴 때 유용합니다

비동기 작업이 멈추거나 테스트가 간헐적으로 실패할 때, 시작 시점에 따라 문제가 발생할 때 사용합니다. 자식 프로세스의 동작, 메모리 사용량 증가, CPU 부하가 집중되는 처리도 조사할 수 있습니다.

사용 예시

  • “이 스크립트를 시작할 때 멈추고 변수를 확인해 주세요.”
  • “간헐적으로 실패하는 테스트를 파일 하나만 디버깅해 주세요.”
  • “CPU 프로파일을 수집해서 실행 시간을 확인하고 싶습니다.”

주의 사항

node가 필요합니다. TypeScript 실행 예시는 tsx를, 프로그램 제어 예시는 chrome-remote-interface를 사용합니다. 연결 주소는 원칙적으로 127.0.0.1을 사용하고 여러 프로세스에는 서로 다른 포트를 할당합니다. 디버깅을 끝낼 때 실행을 중지한 채로 두면 대상 프로세스도 멈춘 상태로 남습니다.

이 소개문은 공개된 SKILL.md를 바탕으로 AI(OpenAI Codex)가 작성했습니다. 정확한 사양은 아래 원문을 확인하세요.

객관 평가

AI가 SKILL.md의 내용만을 근거로 4가지 관점에서 판정했습니다. 스타 수나 인기도는 판정에 넣지 않았습니다.

지시의 명확성언제 쓰고 무엇을 하는지 알 수 있는가
A양호비동기 작업 중단 등의 용도와 node inspect 우선 사용 방침을 명시합니다.
절차의 구체성절차·입출력·예시가 구체적으로 적혀 있는가
A양호실행 명령, 디버거 조작, CDP 코드 예시와 프로파일 출력 경로를 제시합니다.
안전성전송·삭제·명령 실행 등을 명시하고 있는가
A양호연결 대상 확인, 127.0.0.1 사용, 종료 전 실행 재개를 지시합니다.
도입의 용이성필요한 도구나 API 키가 적고 적혀 있는가
B일부 부족node와 tsx가 필요하며 CDP 도구 설치 예시는 있지만 tsx 설치 설명은 없습니다.

총점은 각 항목을 A=25점, B=15점, C=5점으로 더한 값입니다. 2026년 10월 19일 기준으로 AI(OpenAI Codex)가 판정했습니다. 참고용이므로 설치 전에 원문도 확인해 주세요.

평가가 다르다고 생각되면 재검토를 요청하기

어느 항목이 왜 다르다고 생각하는지 적어 주세요. 로그인은 필요 없습니다. SKILL.md와 대조해 평가를 다시 만들고 이곳에 반영합니다.

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

포함된 파일(1)

  • SKILL.md3.5 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Node Inspect Debugger

Use for Node.js debugging that needs inspector access: hidden locals, async hangs, flaky tests, child processes, startup races, memory growth, or CPU hot paths.

Default to node inspect first. Use Chrome DevTools Protocol only when you need scripted breakpoints, automated state capture, heap snapshots, or CPU profiles.

Quick start

  • Pause on entry: node inspect path/to/script.js
  • TypeScript: node --inspect-brk --import tsx path/to/script.ts
  • Existing PID: kill -SIGUSR1 <pid> then node inspect -p <pid>
  • Inspect target list: curl -s http://127.0.0.1:9229/json/list | jq
  • OpenClaw CLI path: node --inspect-brk openclaw.mjs ...
  • OpenClaw test path: OPENCLAW_VITEST_MAX_WORKERS=1 node --inspect-brk scripts/run-vitest.mjs <file>

Debugger REPL

  • Continue/step: cont, next, step, out, pause
  • Breakpoints: sb('file.js', 42), sb(42), sb('functionName'), breakpoints, cb('file.js', 42)
  • Inspect: bt, list(8), watch('expr'), exec expr
  • Current scope: repl, then evaluate locals directly; Ctrl+C exits repl mode.
  • Exit safely: cont before quitting if the process should continue; otherwise kill.

OpenClaw tips

  • Prefer 127.0.0.1 inspector binds. Do not expose --inspect=0.0.0.0 unless the network is isolated.
  • For Vitest, debug one file with one worker. Avoid worker pools while stepping.
  • For TS source breakpoints, use --enable-source-maps when useful; node inspect can still show emitted paths.
  • For child processes, NODE_OPTIONS=--inspect-brk can propagate the inspector, but each child needs its own port.
  • For long-lived gateway or dev processes, attach by PID after confirming the target with /json/list.

Programmatic CDP

Install tooling outside the repo unless the project already depends on it:

mkdir -p /tmp/cdp-tools
npm --prefix /tmp/cdp-tools i chrome-remote-interface
NODE_PATH=/tmp/cdp-tools/node_modules node /tmp/cdp-debug.cjs

Minimal driver:

const CDP = require("chrome-remote-interface");

(async () => {
  const client = await CDP({ port: 9229 });
  const { Debugger, Runtime } = client;

  Debugger.paused(async ({ callFrames, reason }) => {
    const top = callFrames[0];
    console.log("paused", reason, top.url, top.location.lineNumber + 1);
    const { result } = await Debugger.evaluateOnCallFrame({
      callFrameId: top.callFrameId,
      expression: "JSON.stringify({ pid: process.pid })",
    });
    console.log(result.value ?? result.description);
    await Debugger.resume();
  });

  await Runtime.enable();
  await Debugger.enable();
  await Debugger.setBreakpointByUrl({ urlRegex: ".*target\\.js$", lineNumber: 41 });
  await Runtime.runIfWaitingForDebugger();
})();

Profiles

  • CPU: enable Profiler, start, wait, stop, write /tmp/profile.cpuprofile, open in Chrome DevTools.
  • Heap: enable HeapProfiler, collect addHeapSnapshotChunk, call takeHeapSnapshot, write /tmp/heap.heapsnapshot.

Pitfalls

  • --inspect does not pause; use --inspect-brk when setup must happen before code runs.
  • Default port is 9229; use --inspect=0 or a unique port for parallel targets.
  • If a breakpoint misses, confirm file path, source map behavior, and whether execution already passed the line.
  • If the process appears frozen after detaching, it may still be paused in the debugger.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

1password

무료요약 있음AI 평가 100점

1Password 명령줄 도구의 설치와 인증을 확인하고 저장된 비밀번호와 API 키를 명령이나 설정에 전달합니다. 데스크톱 앱 연동과 서비스 계정도 지원합니다.

  • 1Password 명령줄 도구 설치
  • API 키를 명령에 전달
  • CI에서 서비스 계정 인증 사용
openclaw/openclaw39.2만2026년 10월 18일 업데이트

acp-router

무료요약 있음AI 평가 80점

OpenClaw에 전달한 자연어 요청을 Claude Code 같은 외부 코딩 에이전트로 연결합니다. ACP나 acpx로 작업을 시작하거나 이어가며 대화 맥락을 유지합니다.

  • 스레드에서 Claude Code 시작
  • 외부 에이전트의 기존 작업 계속
  • acpx로 직접 지시 전달
openclaw/openclaw39.2만2026년 10월 18일 업데이트

add-model-provider

무료요약 있음AI 평가 100점

OpenClaw에 모델 제공업체를 추가하고 실제 응답을 확인합니다. 인증 정보는 환경 변수나 파일 참조로 다루며 설정 검증과 결과 보고도 진행합니다.

  • OpenClaw에 모델 제공업체 추가하기
  • 인증 정보를 참조 방식으로 설정하기
  • 모델의 실제 응답 확인하기
openclaw/openclaw39.2만2026년 10월 18일 업데이트

agent-transcript

무료요약 있음AI 평가 90점

AI 에이전트의 작업 로그를 GitHub PR이나 이슈에 첨부할 기록으로 정리합니다. 관련 내용을 추리고 민감한 정보를 제거해 미리 보며, 별도 승인을 받아 게시합니다.

  • PR에 첨부할 에이전트 작업 기록 작성
  • 로컬 로그에서 관련 요청과 결과 추출
  • 민감한 정보를 제거한 기록 미리 보기
openclaw/openclaw39.2만2026년 10월 18일 업데이트

apple-notes

무료요약 있음AI 평가 100점

에이전트에서 macOS의 Apple Notes 메모를 생성, 검색, 편집, 삭제합니다. 폴더 간 이동과 HTML 또는 Markdown 내보내기도 지원합니다.

  • 제목을 지정해 메모를 만듭니다
  • 폴더 지정이나 유사 검색으로 메모를 찾습니다
  • 메모를 편집하고 폴더별로 정리합니다
openclaw/openclaw39.2만2026년 10월 18일 업데이트

apple-reminders

무료요약 있음AI 평가 70점

Mac에서 Apple Reminders의 기한이 있는 할 일을 확인하고 추가·편집합니다. 목록 관리와 완료·삭제를 통해 iPhone이나 iPad에서 보는 작업을 정리합니다.

  • 오늘 할 일과 기한이 지난 작업 확인
  • 기한이 있는 개인 할 일 추가
  • iPhone과 iPad에서 보는 작업 정리
openclaw/openclaw39.2만2026년 10월 18일 업데이트

openclaw의 스킬 모두 보기

이 스킬의 문제 신고