Skip to main content
logcat.ai raises $2.55M to build the future of device systems engineeringRead

Whole-System Android Debugging

Analyze Complete Android System Behavior From a Single Bugreport

A bugreport captures every layer of the Android stack. logcat.ai reads all of them together -- correlating kernel events, framework state, and app behavior to surface the actual root cause, not just symptoms.

Watch it work on a real one

One bugreport, one question. It forks four hypotheses and proves that a memory leak and a thermal-throttling core drove the device's watchdog reboot.

Deep Research · one bugreport, one question

“Memory is leaking, a CPU core is throttling at 95C, and the device rebooted. Are these related, and what caused it?”

Device Kestrel Fold (Android 15)SoC Kestrel SoCSubsystem Memory · Thermal · init · SELinux
The investigation7 of 30 steps
Decompose into 4 parallel domains
crashes, memory, SELinux, binder
Trace the Settings memory leak
819 MB RSS, growing across sessions
Assess the WhatsApp CPU load
19-25% for 37 min, CPU7 to 95.2C
Trace the init SIGABRT crash
watchdog-signaled under memory + thermal stress
Confirm the SELinux denial
vendor_qms blocked, 500+ denials
Search Gerrit for the vendor_qms fix
shipping policy gap pinned
Consolidate the causal chain
leak + thermal drove the watchdog reboot
The answer

A memory-leak and thermal-throttle chain triggered a watchdog reboot

Yes, three of the five problems form one causal chain. com.android.settings leaks memory progressively across sessions, reaching 819 MB RSS; at the same time com.whatsapp holds 19 to 25% of a CPU core for over 37 minutes, driving CPU7 to severe thermal throttling at 95.2C. Under that combined RAM and thermal pressure, a system watchdog externally signaled init with SIGABRT, triggering a reboot. Two problems are independent: a shipping SELinux policy gap where vendor_qms generates 500+ enforced denials that block modem diagnostic logging, and a HAL process that died abruptly, leaving dead binder nodes that degrade IPC system-wide.

Watchdog reboot from combined memory + thermal pressure
Settings leaks to 819 MB RSS across sessions
WhatsApp pins CPU7 to 95.2C for 37 minutes
SELinux gap blocks modem diagnostics (vendor_qms, 500+ denials)
Fix: cap or reclaim the Settings memory growth and throttle the WhatsApp background loop to break the thermal chain; ship the vendor_qms SELinux policy fix
service_failure · Memory / Thermal / init (watchdog reboot)
Real Deep Research output · device names neutralized

The full investigation, end to end

Not a highlight. The entire deep-research run, following the memory-and-thermal chain to the reboot.

Real Deep Research · Android bugreport

Before it answers, it reads the device

Every bugreport is first reduced to a cited identity and a scored, cross-layer health profile: the deterministic floor every investigation builds on.

Extracted identitycited to the line
Device modelMotorola moto g50
← Build fingerprint: motorola/ibiza_retail/ibiza:12/S1RF32.27-25-12-1-2/…
Codenameibiza
← Build fingerprint: motorola/ibiza_retail/ibiza:12/…
OS versionAndroid 12
← Build fingerprint: …/ibiza:12/S1RF32.27-25-12-1-2/…
BuildS1RF32.27-25-12-1-2
← Build: BP2A.250805.005 test-keys
Device classandroid_phone
← [FILE HEADER] == dumpstate: …
Subsystem healthscored, with findings
CPU
55Degraded

FingerprintHand thread in system_server consuming 52.5% CPU — busy-wait in the fingerprint HAL.

Power
58Degraded

Android System (UID 1000) drawing 65% of total power in the background — abnormal system-server CPU.

Network
72Minor

Both SIM slots OUT_OF_SERVICE with RIL connection failures — no cellular fallback.

Storage
74Minor

/vendor partition at 99.7% — 0 bytes free, risks OTA update failures.

Memory
85Healthy

SystemUI at 128 MB PSS / 331 MB RSS — elevated but within range; monitor for growth.

The whole capture, on one timeline

Every bugreport opens to a multi-lane event timeline: crashes, process churn, security denials, and foreground activity on a shared axis, so a burst at 3am lines up with the reboot that followed it.

Event timeline
Reliability
Crashes · ANRs · tombstones
12
Process churn
Process lifecycle
68
Foreground
Foreground / UI lifecycle
6
Security
SELinux denials
241
08-22 04:15:3708-22 20:25:4108-23 12:35:4508-24 04:45:4908-24 20:55:54

Quiet in this capture · Fatal exceptions · App freeze / unfreeze · Low-memory kills · Network up / down · switch · Weak signal (RSRP ≤ -110)

Charts from a real bugreport

Auto-generated from the report. A fraction of the full dashboard, every value traced back to a line.

Battery level (%) over time
peak 69min 66
Battery level over time
Issues by subsystem
applications
6
cpu
6
memory
6
power
6
security
6
network
5
system_services
3
Issues by subsystem

Real output from an actual analysis · identifiers scrubbed

Why Manual Analysis Takes Hours

Bugreports are notoriously difficult to analyze manually

Massive Scale

100MB+ compressed, 500K-1M+ lines uncompressed. A single logcat buffer can have 50K+ entries. dumpsys alone spans 100+ system services.

Cross-Subsystem Issues

Root cause in kernel → symptom in app layer. Memory pressure → GC pauses → ANR. Thermal throttling → CPU scheduling → jank. Requires correlating timestamps across sections.

OEM Fragmentation

Samsung, Xiaomi, OnePlus, Pixel all have different custom services, modified frameworks, proprietary dumpsys outputs, and vendor-specific kernel drivers.

Android Version Differences

Bugreport format changes between versions. New sections added, deprecated sections removed. Different log tag conventions and API behavior changes.

Real Cost

The Real Cost of Manual Analysis

  • 01Senior engineers spend 2-8 hours hunting through logs instead of solving the actual problem
  • 02Teams lose valuable context when only senior engineers can debug complex issues
  • 03Critical issues get buried in noise
  • 04No systematic coverage - easy to miss subsystems
  • 05Knowledge silos - only experts know where to look

What logcat.ai Does Differently

Cross-subsystem reasoning that connects symptoms to root causes

Cross-Subsystem Root Cause Analysis

AI traces causal chains across layers: kernel memory pressure causing GC storms causing ANRs. Correlates timestamps across 30+ sections automatically. Finds the root cause, not just the symptom.

10 Specialized Analyzers, One Unified View

Apps, System Services, Memory, Power, Network, Storage, Security, Performance, Device Info, and Errors analyzed in parallel. Results merged into a single prioritized view. Severity ranked from Critical to Low with actionable recommendations.

Full Log Viewers Built In

Logcat and kernel logs extracted and indexed from the bugreport. Interactive timeline visualization across all log sources. Filter by tag, priority, time range -- all in one place.

Ask Questions in Plain English

Natural language queries: "What caused the ANR at 2:15pm?" Answers in under 5 seconds. No grep or logcat expertise required.

What's Inside an Android Bugreport?

A bugreport is a comprehensive diagnostic snapshot of an Android device, containing 30+ sections of system data. Generated via adb bugreport or device settings, it captures everything needed to diagnose issues.

Key Sections
logcat

System logs, app logs, crash traces, ANR traces

event_log

System events, activity lifecycle, broadcasts

dmesg / kernel

Kernel logs, driver errors, hardware events

dumpsys

State of all system services (100+ services)

procrank / meminfo

Memory usage by process, OOM scores

batterystats

Battery usage, wakelocks, power events

package

Installed apps, permissions, versions

system_properties

Build info, device config, feature flags

ANR traces

Thread dumps at time of ANR

tombstones

Native crash dumps with stack traces

You showed up with one of these

Three ways a bugreport lands on your desk, and what comes back.

A field crash you can't reproduce

A user hit it once, on a device you don't have, and the repro steps are "it just froze." The investigation above traced that exact capture to a fingerprint-HAL null handle — cited to the line, no re-run needed.

A fleet of captures, no time to read them

Hundreds of bugreports from QA and the field, each a hundred megabytes. The analysis ranks them by what actually broke and groups the ones sharing a root cause, so you triage the pattern instead of the pile.

A log you need to see, not read

Sometimes you don't want findings prose: you want the shape of what happened. The dashboard above wasn't a template; it read this bugreport's structure and what was actually breaking, then drew the charts that fit it: the boot timeline, the failing subsystems, the moments that mattered.

Common questions

Frequently Asked Questions

Everything you need to know about bugreport analysis

We support .zip files from `adb bugreport` (Android 7+) and .txt files from older devices. The parser automatically handles different Android versions and OEM-specific formats, including vendor-specific sections from Samsung, Xiaomi, OnePlus, and other manufacturers.

Quick Search answers questions in under 5 seconds. Full 10-subsystem AI analysis takes 3-4 minutes depending on file size and complexity. Deep Research investigations, which autonomously search across all sections and reference external documentation, typically complete in 5-10 minutes.

Our AI detects app crashes and ANRs with full stack traces, memory leaks and OOM events with allocation patterns, battery drain from wakelock abuse, thermal throttling and CPU scheduling issues, SELinux denials and security policy violations, and network connectivity problems. Each issue includes severity ranking and actionable recommendations.

Yes - we support all major manufacturers including Samsung, Xiaomi, OnePlus, Pixel, Oppo, Vivo, and any AOSP-based device. Our parser handles vendor-specific sections, custom dumpsys outputs, and proprietary logs. Tested across Android 8 through 15 with continuous updates for new versions.

Your data is protected with encryption in transit (TLS 1.3) and at rest (AES-256). Files are automatically deleted after 90 days, and you can request immediate deletion at any time. We never use your log data for AI model training. Enterprise plans offer on-premise deployment for complete data control.

Yes - optimized for large files with streaming upload that won't crash your browser. Processing is parallelized across our infrastructure for fast analysis regardless of file size.

Start Debugging the Whole System

Upload a bugreport and let logcat.ai connect the dots across every layer