원클릭으로
tiger-crash-dump
Identify and access crash dumps from CI test failures in Azure DevOps, for both normal test runs and Helix-based tests.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Identify and access crash dumps from CI test failures in Azure DevOps, for both normal test runs and Helix-based tests.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use the tiger cli tool to query live Azure DevOps and Helix CI/CD data
Used for querying CI/CD build and test data from Azure DevOps
File a "Known Build Error" GitHub issue to track a recurring build or test failure in the dotnet infrastructure
Access CI/CD health reports and state-of-the-build summaries produced by the Tiger health agent
| name | tiger-crash-dump |
| description | Identify and access crash dumps from CI test failures in Azure DevOps, for both normal test runs and Helix-based tests. |
This skill helps identify crash dumps produced during CI test failures and guides you to access them.
Crash dumps are indicated by examining error messages or stack traces in the test_results table. Look for:
error_message or stack_trace.dmp in the error_message or stack_trace-- Find test results mentioning crash dumps
SELECT tr.organization, tr.run_id, tr.result_id, tr.test_case_title, tr.error_message
FROM test_results tr
WHERE tr.error_message LIKE '%Test host crash detected%'
OR tr.error_message LIKE '%.dmp%'
OR tr.stack_trace LIKE '%.dmp%';
-- Find crash dumps for a specific build
SELECT tr.organization, tr.run_id, tr.result_id, tr.test_case_title,
tr.error_message, tr.helix_job_name, tr.helix_work_item_name
FROM test_results tr
JOIN test_runs r ON r.organization = tr.organization AND r.run_id = tr.run_id
WHERE r.build_id = @buildId
AND (tr.error_message LIKE '%Test host crash detected%'
OR tr.error_message LIKE '%.dmp%'
OR tr.stack_trace LIKE '%.dmp%');
The method for retrieving the dump file depends on whether the test ran on Helix or not.
When helix_job_name is NULL, the crash dump is uploaded inside an Azure DevOps pipeline artifact associated with the test job.
Download dump files directly:
# Download all dump files from a build
tiger azdo download-dumps <build-id>
# Download dumps only from a specific test run
tiger azdo download-dumps <build-id> --run-id <run-id>
# Specify output directory
tiger azdo download-dumps <build-id> --output ./dumps
This command scans build artifacts, finds .dmp files, and downloads them individually without downloading entire artifacts.
The tiger CLI is available at ../../tiger (relative to this skill).
How it works under the hood:
--run-id is provided, filters to the artifact matching that test run's name.dmpFallback — download the full artifact:
If download-dumps doesn't work, you can download the entire artifact containing the dump:
# List artifacts to find the right one
tiger azdo artifacts <build-id>
# Download the full artifact (artifact name = test run name with underscores + "Attempt N Logs")
tiger azdo download <build-id> --artifact "<artifact-name>" --output ./logs.zip
As a last resort, use the AzDO REST API or the build's Artifacts tab in the web UI.
When helix_job_name is NOT NULL, the crash dump is stored as a file in the Helix work item.
Use the helix_work_items table to find the dump file:
SELECT hwi.job_name, hwi.work_item_name, hwi.files
FROM helix_work_items hwi
WHERE hwi.job_name = @helixJobName
AND hwi.work_item_name = @helixWorkItemName;
The files column contains a JSON array of file entries. Look for entries with a file name ending in .dmp. Each entry has a download URI.
| Column | Type | Description |
|---|---|---|
| job_name | TEXT | Helix job ID (matches test_results.helix_job_name) |
| work_item_name | TEXT | Helix work item name (matches test_results.helix_work_item_name) |
| state | TEXT | Work item state (e.g. "Passed", "Failed") |
| exit_code | INTEGER | Process exit code (non-zero often indicates a crash) |
| console_output_uri | TEXT | URI to the console log for the work item |
| files | TEXT | JSON array of uploaded files with download URIs |
Primary key: (job_name, work_item_name)
The files column is a JSON array of objects. Each object has:
fileName — the file name (look for .dmp suffix)uri — download URI for the fileExample:
[
{"fileName": "core.12345.dmp", "uri": "https://helix.dot.net/api/..."},
{"fileName": "console.log", "uri": "https://helix.dot.net/api/..."}
]
-- Get all Helix work items with dump files for a build
SELECT hwi.job_name, hwi.work_item_name, hwi.files
FROM helix_work_items hwi
JOIN test_results tr ON tr.helix_job_name = hwi.job_name
AND tr.helix_work_item_name = hwi.work_item_name
JOIN test_runs r ON r.organization = tr.organization AND r.run_id = tr.run_id
WHERE r.build_id = @buildId
AND hwi.files LIKE '%.dmp%';
Then parse the JSON in the files column to extract the URI for the .dmp file.
| Scenario | Where to find the dump |
|---|---|
Normal test (helix_job_name IS NULL) | AzDO build artifact named after the test run |
Helix test (helix_job_name IS NOT NULL) | helix_work_items.files JSON array |