Skip to content
Lesson 34 of 36 ยท Working in chip validation

What is debugging?

Debugging means finding why something went wrong: make it happen again, find where it happens, and find the real reason (the root cause).

  1. try 1try 2try 3fails every time: we can repeat itBIOS version 1.2speed-up (boost): on

    1. Make it happen again

    First make the problem happen again, and write down the exact versions and settings. If it fails only sometimes, count how often, such as 3 times in 100 tries.

  2. one changeresultnew driverfailsother boardfailssetting offworksshows where to look

    2. Change one thing at a time

    Change one thing at a time: a BIOS setting, the driver or the board. When the problem goes away, the last change shows where to look.

  3. POST codehow far start-up gotBIOS logstart-up notesevent logsystem notescrash dumpmemory at the crashtracetimed recording

    3. Collect the evidence

    Collect evidence, like a doctor's test results: POST codes, BIOS logs, system event logs, crash dumps and traces.

  4. last releasenew releaseworksfailsBIOS 1.1BIOS 1.2driver 3.4driver 3.4the difference

    4. Compare with one that works

    Compare with a setup that works, or with the last good release. The difference shows what changed.

  5. workaround (going around it)causestill therepassesroot cause fixedtest passes

    5. Fix the cause, then test again

    Aim to fix the root cause, as a doctor treats the illness, not only the pain. A bug inside the chip may need a firmware or BIOS workaround until a fixed chip arrives.

Words to know

Driver
Software that lets the operating system use one part of the hardware.
Board
The main circuit board that holds the chip.
BIOS setting
An option in the BIOS menu that turns a feature on or off.
Firmware
Software built into the hardware that runs it from inside.
POST code
A short code that shows how far the computer got while starting. POST means power-on self-test.
Root cause
The first, real reason a problem happens.
Workaround
A way around a problem that leaves its cause in place.

Where you meet it at work

Much of the job is debugging failed tests and collecting enough evidence so the engineer responsible for that part can fix it.

Check yourself

Why change only one thing at a time while debugging?Think first, then tap to see the answer.

So that when the problem goes away, you know which change made the difference.