trbr
Version:
TraceBreaker is a simple tool to decode and analyze ESP backtraces
1 lines • 135 kB
Source Map (JSON)
{"version":3,"file":"lib/lib.cjs","mappings":"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","sources":["webpack://trbr/external node-commonjs \"node:child_process\"","webpack://trbr/external node-commonjs \"node:fs/promises\"","webpack://trbr/external node-commonjs \"tty\"","webpack://trbr/./src/lib/decode/decodeParams.js","webpack://trbr/./src/lib/os.js","webpack://trbr/./src/lib/decode/regAddr.js","webpack://trbr/./src/lib/decode/regs.js","webpack://trbr/./src/lib/decode/addr2Line.js","webpack://trbr/./src/lib/decode/coredump.js","webpack://trbr/./src/lib/decode/decode.text.js","webpack://trbr/external node-commonjs \"node:net\"","webpack://trbr/./src/lib/decode/riscv.js","webpack://trbr/./src/lib/decode/xtensa.js","webpack://trbr/./src/lib/decode/decode.js","webpack://trbr/./src/lib/exec.js","webpack://trbr/external node-commonjs \"node:stream/promises\"","webpack://trbr/external node-commonjs \"node:path\"","webpack://trbr/./src/lib/tool.js","webpack://trbr/./src/lib/abort.js","webpack://trbr/external node-commonjs \"node:os\"","webpack://trbr/webpack/bootstrap","webpack://trbr/webpack/runtime/define property getters","webpack://trbr/webpack/runtime/hasOwnProperty shorthand","webpack://trbr/webpack/runtime/make namespace object","webpack://trbr/./node_modules/tinyrainbow/dist/chunk-BVHSVHOK.js","webpack://trbr/./node_modules/tinyrainbow/dist/node.js","webpack://trbr/./src/lib/decode/stringify.js"],"sourcesContent":["module.exports = require(\"node:child_process\");","module.exports = require(\"node:fs/promises\");","module.exports = require(\"tty\");","// @ts-check\n\nimport {\n defaultTargetArch,\n findTargetArch,\n resolveBuildProperties,\n resolveToolPath,\n} from '../tool.js'\n\n/** @typedef {import('../tool.js').DecodeTarget} DecodeTarget */\n/** @typedef {import('fqbn').FQBN} FQBN */\n\n// --- Provides\n\n/**\n * @typedef {Object} DecodeParams\n * @property {string} toolPath\n * @property {string} elfPath\n * @property {DecodeTarget} targetArch\n */\n\n/** @typedef {DecodeParams & CoredumpMode} DecodeCoredumpParams */\n\n// --- Base\n\n/**\n * @typedef {Object} CreateDecodeParamsParams\n * @property {string} elfPath\n */\n\n/**\n * @typedef {Object} ArduinoCliParams\n * @property {string} arduinoCliPath\n * @property {string} [arduinoCliConfigPath]\n * @property {string} [additionalUrls]\n */\n\n/**\n * @typedef {Object} ToolParams\n * @property {string} toolPath\n * @property {DecodeTarget} [targetArch]\n */\n\n/**\n * @typedef {Object} CoredumpMode\n * @property {true} coredumpMode\n */\n\n/**\n * @typedef {Object} BacktraceMode\n * @property {false} [coredumpMode]\n */\n\n/**\n * @typedef {Object} WithFQBN\n * @property {FQBN} fqbn\n */\n\n/**\n * @typedef {WithFQBN & {\n * buildProperties: Record<string, string>\n * }} WithBuildProperties\n */\n\n// --- Backtrace\n\n/** @typedef {CreateDecodeParamsParams & ToolParams & BacktraceMode} CreateDecodeParamsFromToolParams */\n/**\n * @typedef {CreateDecodeParamsParams &\n * ArduinoCliParams &\n * WithFQBN &\n * BacktraceMode} CreateDecodeParamsFromFQBNParams\n */\n/** @typedef {CreateDecodeParamsParams & WithBuildProperties & BacktraceMode} CreateDecodeParamsFromBuildPropertiesParams */\n/**\n * @typedef {CreateDecodeParamsFromToolParams\n * | CreateDecodeParamsFromFQBNParams\n * | CreateDecodeParamsFromBuildPropertiesParams} CreateDecodeParamsFromParams\n */\n\n/**\n * @callback CreateDecodeParams\n * @param {CreateDecodeParamsFromParams} params\n * @returns {Promise<DecodeParams>}\n */\n\n// --- Coredump\n\n/** @typedef {CreateDecodeParamsParams & ToolParams & CoredumpMode} CreateCoredumpDecodeParamsFromToolParams */\n/**\n * @typedef {CreateDecodeParamsParams &\n * ArduinoCliParams &\n * WithFQBN &\n * CoredumpMode} CreateCoredumpDecodeParamsFromFQBNParams\n */\n/** @typedef {CreateDecodeParamsParams & WithBuildProperties & CoredumpMode} CreateCoredumpDecodeParamsFromBuildPropertiesParams */\n/**\n * @typedef {CreateCoredumpDecodeParamsFromToolParams\n * | CreateCoredumpDecodeParamsFromFQBNParams\n * | CreateCoredumpDecodeParamsFromBuildPropertiesParams} CreateCoredumpDecodeParamsFromParams\n */\n\n/**\n * @callback CreateCoredumpDecodeParams\n * @param {CreateCoredumpDecodeParamsFromParams} params\n * @returns {Promise<DecodeCoredumpParams>}\n */\n\n/**\n * @param {CreateDecodeParamsParams} params\n * @returns {params is CreateCoredumpDecodeParamsFromParams}\n */\nexport function isCoredumpModeParams(params) {\n return 'coredumpMode' in params && Boolean(params.coredumpMode)\n}\n\n/**\n * @param {CreateDecodeParamsParams} params\n * @returns {params is CreateDecodeParamsFromToolParams|CreateCoredumpDecodeParamsFromToolParams}\n */\nfunction isToolPathParams(params) {\n return 'toolPath' in params && typeof params.toolPath === 'string'\n}\n\n/**\n * @param {CreateDecodeParamsParams} params\n * @returns {params is CreateDecodeParamsFromBuildPropertiesParams|CreateCoredumpDecodeParamsFromBuildPropertiesParams}\n */\nfunction isBuildPropertiesParams(params) {\n return (\n 'buildProperties' in params && typeof params.buildProperties === 'object'\n )\n}\n\n/**\n * @param {CreateDecodeParamsParams} params\n * @returns {params is CreateDecodeParamsFromFQBNParams|CreateCoredumpDecodeParamsFromFQBNParams}\n */\nfunction isArduinoCliParams(params) {\n return 'arduinoCliPath' in params && typeof params.arduinoCliPath === 'string'\n}\n\n/**\n * @overload\n * @param {CreateDecodeParamsFromParams} params\n * @returns {Promise<DecodeParams>}\n */\n/**\n * @overload\n * @param {CreateCoredumpDecodeParamsFromParams} params\n * @returns {Promise<DecodeCoredumpParams>}\n */\n/**\n * @param {CreateDecodeParamsFromParams\n * | CreateCoredumpDecodeParamsFromParams} params\n * @returns {Promise<DecodeParams | DecodeCoredumpParams>}\n */\nexport async function createDecodeParams(params) {\n /** @type {string | undefined} */\n let toolPath\n /** @type {DecodeTarget | undefined} */\n let targetArch\n\n if (isToolPathParams(params)) {\n toolPath = params.toolPath\n targetArch = params.targetArch ?? defaultTargetArch\n } else if (isBuildPropertiesParams(params)) {\n toolPath = await resolveToolPath(params)\n targetArch = findTargetArch(params)\n } else if (isArduinoCliParams(params)) {\n const buildProperties = await resolveBuildProperties(params)\n toolPath = await resolveToolPath({\n fqbn: params.fqbn,\n buildProperties,\n })\n targetArch = findTargetArch({ buildProperties })\n } else {\n throw new Error(\n `Unexpected create decode params input: ${JSON.stringify(params)}`\n )\n }\n\n /** @type {DecodeParams} */\n const decodeParams = {\n elfPath: params.elfPath,\n toolPath,\n targetArch,\n }\n\n if (!isCoredumpModeParams(params)) {\n return decodeParams\n }\n\n return { ...decodeParams, coredumpMode: true }\n}\n","// @ts-check\n\n/** @param {string} filename */\nexport function appendDotExeOnWindows(filename) {\n return `${filename}${process.platform === 'win32' ? '.exe' : ''}`\n}\n","// @ts-check\n\nimport { isGDBLine, isParsedGDBLine } from './decode.js'\n\n/**\n * Parses a method signature string into its name and argument list.\n *\n * @param {string} sig\n * @returns {{\n * name: string\n * args: { name: string; value?: string; type?: string }[]\n * }}\n */\nfunction parseMethodSignature(sig) {\n const nameMatch = sig.match(/^([^(]+)\\s*\\((.*)\\)$/s)\n if (!nameMatch) {\n return { name: sig.trim(), args: [] }\n }\n\n const [, name, argsStr] = nameMatch\n const args =\n argsStr.match(/(?:[^,\"']+|\"[^\"]*\"|'[^']*')+/g)?.map((arg) => {\n const parts = arg.split('=')\n if (parts.length === 2) {\n const [name, value] = parts.map((s) => s.trim())\n return { name, value }\n } else {\n return { name: arg.trim() }\n }\n }) || []\n return { name: name.trim(), args }\n}\n\n/** @typedef {string} RegAddr `'0x12345678'` or `'this::loop'` */\n\n/**\n * @typedef {Object} GDBLine\n * @property {RegAddr} regAddr\n * @property {string} lineNumber `'36'` or `'??'`\n */\n\n/**\n * @typedef {GDBLine & {\n * file: string\n * method: string\n * }} ParsedGDBLine\n */\n\n/**\n * @param {string} stdout\n * @returns {(GDBLine | ParsedGDBLine)[]}\n */\nexport function parseLines(stdout) {\n return stdout\n .split(/\\r?\\n/)\n .map((line) => line.trim())\n .filter(Boolean)\n .map((lines) => parseLine(lines))\n .filter(isGDBLine || isParsedGDBLine)\n}\n\n/**\n * @param {string} line\n * @returns {GDBLine | ParsedGDBLine | undefined}\n */\nexport function parseLine(line) {\n // console.log(`Parsing line: ${line}`)\n const patterns = [\n // GDB style with frame number and numeric file/line\n /#\\d+\\s+(0x[0-9a-f]+)\\s+in\\s+([^(]+\\((?:\"(?:\\\\.|[^\"\\\\])*\"|[^()])*?\\))\\s+at\\s+(.+):(\\d+)/i,\n // GDB style without frame number and numeric file/line\n /(0x[0-9a-f]+)\\s+in\\s+([^(]+(?:\\([^()]*\\))?)\\s+at\\s+(.+):(\\d+)/i,\n // GDB style with frame number and ?? file/line\n /(?:#\\d+\\s+)?(0x[0-9a-f]+)\\s+in\\s+([^(]+(?:\\([^()]*\\))?)\\s+at\\s+(\\?+):(\\?+)/i,\n // \"is in\" format with numeric file/line\n /(0x[0-9a-f]+)\\s+is\\s+in\\s+([^(]+(?:\\([^()]*\\))?)\\s+\\((.+):(\\d+)\\)/i,\n // \"is in\" format without line number\n /(0x[0-9a-f]+)\\s+is\\s+in\\s+([^(]+(?:\\([^()]*\\))?)\\s+\\(([^():]+)\\)/i,\n // Address with \"is at\" and numeric file/line\n /(0x[0-9a-f]+)\\s+is\\s+at\\s+(.+):(\\d+)/i,\n // Method with file/line but no address\n /(?:#\\d+\\s+)?([^(]+(?:\\([^()]*\\))?)\\s+at\\s+(.+):(\\d+)/,\n ]\n\n for (const [i, pattern] of patterns.entries()) {\n const match = line.match(pattern)\n if (match) {\n // Numeric file/line after \"in\"\n if (i === 0 || i === 1) {\n const [, regAddr, method, file, lineNumber] = match\n return normalizeParsedLine({ regAddr, method, file, lineNumber })\n }\n // ?? file/line after \"in\"\n if (i === 2) {\n const [, regAddr, method, file, lineNumber] = match\n return normalizeParsedLine({ regAddr, method, file, lineNumber })\n }\n // \"is in\" with numeric file/line\n if (i === 3) {\n const [, regAddr, method, file, lineNumber] = match\n return normalizeParsedLine({ regAddr, method, file, lineNumber })\n }\n // \"is in\" without line number\n if (i === 4) {\n const [, regAddr, method, file] = match\n return normalizeParsedLine({ regAddr, method, file, lineNumber: '??' })\n }\n // \"is at\" with numeric file/line\n if (i === 5) {\n const [, regAddr, file, lineNumber] = match\n return normalizeParsedLine({ regAddr, method: '??', file, lineNumber })\n }\n // Method with file/line but no address\n if (i === 6) {\n const [, method, file, lineNumber] = match\n return normalizeParsedLine({ regAddr: '??', method, file, lineNumber })\n }\n }\n }\n // Fallback for addresses without file/line info\n const fallbackMatch = line.match(\n /(?:#\\d+\\s+)?(0x[0-9a-f]+)\\s+(?:is\\s+in|in)\\s+([^(]+(?:\\([^()]*\\))?)/i\n )\n if (fallbackMatch) {\n const [, regAddr, method] = fallbackMatch\n return normalizeParsedLine({\n regAddr,\n method: method.trim(),\n file: '??',\n lineNumber: '??',\n })\n }\n // console.log(`No pattern matched for line: ${line}`)\n return undefined\n}\n\n/**\n * Normalize a parsed GDB line entry. If both file and lineNumber are missing or\n * unknown, omit them. If either is present but unknown, default to '??'.\n *\n * @param {ParsedGDBLine} entry\n * @returns {GDBLine | ParsedGDBLine}\n */\n/**\n * Normalize a parsed GDB line entry. If both file and lineNumber are missing or\n * unknown, omit them. If either is present but unknown, default to '??'.\n *\n * @param {ParsedGDBLine} entry\n * @returns {GDBLine | ParsedGDBLine}\n */\nfunction normalizeParsedLine(entry) {\n const { file, lineNumber, method, regAddr } = entry\n const parsedMethod = parseMethodSignature(method)\n\n const hasValidFile = file && file !== '' && file !== '??'\n const hasValidLine = lineNumber && lineNumber !== '' && lineNumber !== '??'\n\n if (hasValidFile || hasValidLine) {\n const result = {\n regAddr,\n method: parsedMethod.name,\n file: hasValidFile ? file : '??',\n lineNumber: hasValidLine ? lineNumber : '??',\n }\n if (parsedMethod.args && parsedMethod.args.length > 0) {\n Object.assign(result, { args: parsedMethod.args })\n }\n return result\n }\n\n const hasValidMethod =\n parsedMethod.name &&\n parsedMethod.name !== '' &&\n parsedMethod.name !== '??' &&\n parsedMethod.name !== '?? ()'\n\n if (!hasValidLine && hasValidMethod) {\n return { regAddr, lineNumber: parsedMethod.name }\n }\n\n return { regAddr, lineNumber: lineNumber || '??' }\n}\n","// @ts-check\n\nexport const registerSets = /** @type {const} */ ({\n // Xtensa exception frame order used in ESP‑IDF v5 core dumps\n xtensa: [\n 'PC',\n 'PS',\n // loop registers + SAR\n 'LBEG',\n 'LEND',\n 'LCOUNT',\n 'SAR',\n // general‑purpose registers\n 'A0',\n 'A1',\n 'A2',\n 'A3',\n 'A4',\n 'A5',\n 'A6',\n 'A7',\n 'A8',\n 'A9',\n 'A10',\n 'A11',\n 'A12',\n 'A13',\n 'A14',\n 'A15',\n // remaining exception/window registers\n 'EXCCAUSE',\n 'EXCVADDR',\n 'WINDOWBASE',\n 'WINDOWSTART',\n ],\n // TODO: compare with gdbRegsInfoRiscvIlp32\n riscv: [\n 'MEPC',\n 'RA',\n 'SP',\n 'GP',\n 'TP',\n 'T0',\n 'T1',\n 'T2',\n 'S0',\n 'S1',\n 'A0',\n 'A1',\n 'A2',\n 'A3',\n 'A4',\n 'A5',\n 'A6',\n 'A7',\n 'S2',\n 'S3',\n 'S4',\n 'S5',\n 'S6',\n 'S7',\n 'S8',\n 'S9',\n 'S10',\n 'S11',\n 'T3',\n 'T4',\n 'T5',\n 'T6',\n 'MSTATUS',\n 'MTVEC',\n 'MCAUSE',\n 'MTVAL',\n 'MHARTID',\n ],\n})\n\n/**\n * @param {number} number\n * @returns {string}\n */\nexport function toHexString(number = 0) {\n return `0x${number.toString(16).padStart(8, '0')}`\n}\n","// @ts-check\n\nimport { spawn } from 'node:child_process'\n\nimport { isParsedGDBLine } from './decode.js'\nimport { parseLines } from './regAddr.js'\nimport { toHexString } from './regs.js'\n\n/**\n * @typedef {Object} CommandQueueItem\n * @property {string} cmd\n * @property {(result: string) => void} resolve\n * @property {(reason: unknown) => void} reject\n */\n\nconst prompt = '(gdb)'\nconst notExecutableFormat = 'not in executable format'\nconst fileFormatNotRecognized = 'file format not recognized'\nconst noSuchFileOrDirectory = 'No such file or directory'\n\nclass GDBSession {\n /**\n * @param {Pick<DecodeParams, 'elfPath' | 'toolPath'>} params\n * @param {DecodeOptions} [options={}] Default is `{}`\n */\n constructor({ toolPath, elfPath }, options = {}) {\n this.toolPath = toolPath\n this.elfPath = elfPath\n this.error = null\n this.didExecuteFirstCommand = false\n this.gdb = spawn(toolPath, [elfPath], {\n stdio: 'pipe',\n signal: options.signal,\n })\n this.buffer = ''\n /** @type {CommandQueueItem[]} */\n this.queue = []\n this.current = null\n this.gdb.stdout.on('data', (chunk) => this._onData(chunk))\n this.gdb.stderr.on('data', (chunk) => this._onData(chunk))\n this.gdb.on('error', (err) => this.current?.reject(err))\n this.gdb.on('exit', (code, signal) => {\n if (code !== 0 && signal !== 'SIGTERM') {\n console.warn(`GDB exited with code ${code} or signal ${signal}`)\n }\n })\n }\n\n /** @param {Buffer} chunk */\n _onData(chunk) {\n this.buffer += chunk.toString()\n if (!this.current) {\n return\n }\n const idx = this.buffer.indexOf(prompt)\n if (idx === -1) {\n return\n }\n const output = this.buffer.slice(0, idx)\n this.buffer = this.buffer.slice(idx + prompt.length)\n const { resolve } = this.current\n this.current =