Quick answer: To find a memory leak: watch for the symptoms (growing memory, crashes after extended play), profile to see what grows without being freed, and use real crash conditions to narrow it down.

Finding a memory leak is detective work with profiling and crash data. These are the steps.

Step 1: Recognize the Symptoms

Start by recognizing the symptoms of a leak: memory usage that grows over a session and never comes back down, performance degrading the longer the game runs, and out-of-memory crashes that hit after extended play or on lower-memory devices. These symptoms tell you a leak is likely before you start profiling.

Bugnet surfaces the crash symptom: it captures out-of-memory crashes with device and timing context, so you can see that crashes correlate with longer sessions and lower-memory devices, the field signature of a leak, telling you to go looking for one.

Step 2: Profile to See What Grows

Next, profile memory during play to see what is growing and not being freed: watch memory usage as you play, look for allocations that accumulate without being released, and identify the objects or resources that keep growing. Profiling points you at the leaking allocation directly.

Bugnet complements profiling with real-world targeting: the breadcrumbs and conditions from out-of-memory crashes show what players were doing as memory ran out (entering areas, loading content), so you know which play patterns to reproduce while profiling, focusing your profiling on the paths that actually leak.

Step 3: Narrow Down With Crash Conditions

Finally, narrow down the leak using the conditions of real out-of-memory crashes: which device, after how long, doing what. These conditions, combined with profiling, pinpoint what is leaking and under what circumstances, turning a vague 'memory grows' into a specific leaking code path you can fix.

Bugnet provides the narrowing conditions: it captures out-of-memory crashes with device, version, and breadcrumbs, so you see the specific real-world circumstances under which memory runs out, which combined with your profiling pinpoints the leak, the hard part of fixing it.

To find a memory leak: recognize the symptoms (growing memory, crashes after extended play), profile to see what grows without being freed, and use the conditions of real out-of-memory crashes to pinpoint it.