Ladění procesů User-Mode bez symbolů

Je důležité mít symboly na chybovém počítači před spuštěním ladicího programu pro selhání uživatelského režimu. Někdy se ale ladicí program spustí bez symbolů. Pokud je problém snadno reprodukovatelný, stačí zkopírovat symboly a spustit znovu. Pokud se však problém nemusí opakovat, některé informace mohou být stále vyvodit ze selhání.

  1. Abyste zjistili, co adresy znamenají, budete potřebovat počítač, který odpovídá té s chybou. Měla by mít stejnou platformu (x86 nebo x64) a měla by být načtena se stejnou verzí Windows.

  2. Po nakonfigurování počítače zkopírujte symboly uživatelského režimu a binární soubory, které chcete ladit na nový počítač.

  3. Spusťte CDB nebo WinDbg na počítači bez symbolů.

  4. Pokud nevíte, která aplikace na počítači bez symbolů selhala, zadejte | (Stav procesu) příkaz. Pokud vám to nedává název, vstupte do KD na stroji bez symbolů a proveďte příkaz !process 0 0, hledaje ID procesu zadané příkazem CDB.

  5. Když máte nastavené dva ladicí programy – jeden se symboly, který chyby nedosáhl, a jeden, který chybu narazil, ale je bez symbolů – zadejte příkaz k (Display Stack Backtrace) v počítači bez symbolů.

  6. Na počítači se symboly zadejte příkaz u (Bez sestavení) pro každou adresu uvedenou v zásobníku bez symbolů. Tím získáte trasování zásobníku chyby na počítači bez symbolů.

  7. Když se podíváte na výpis zásobníku, uvidíte názvy modulů a funkcí, které jsou součástí volání.