Om du använder dbx för att felsöka kärnan med din PC, bör den här användarhandboken vägleda dig.
Godkänd: Fortect
Om programmet som dynamiskt kopierade just denna kärna var länkat till en gemensam kärnaBibliotek, allt är bättre att felsöka huvudfilen som finns i samma arbetsmiljödär det skrevs. dbx har begränsat stödExempel för att hitta felsökning “icke-överensstämmande” m filesag, (för huvudfilerSkapad i hela systemet när det gäller en annan Solaris®-version eller plats.Operativ system.
dbx kan inte ta reda på att du med all säkerhet kommer att peka på denna Java-applikation.från en kärninitiering som möjligt med ursprunglig kod.
Felsök huvudfilen i samma driftsmiljö
Du kan också felsöka huvuddokumentet genom att göra de flesta av felsökningsoperationer. använd en persons kommando / kbd>om dbx körs vid denna tidpunkt:
Du kan ersätta - - om programnamnet och dbx mestadels försöker extrahera programnamnet direkt från huvudfilen. dbx kanske inte hittar den huvudsakliga körbara filen om hela strategin anges som inte tillgängligi baskatalogen. Om dbx inte kan hitta hela den körbara filen,Inkludera hela sökvägen till binären om kunden behöver berätta för dbx detLadda en kärnfil.
Om just denna kärnmapp inte finns i den aktuella katalogen kan du eventuellt använda dinSökvägshuvud (till exempel per tmp / kärna ).
Använd kommandot to where (se kommandot where ) på marknaden för att avgöra var enheten kördes där den tömdes.Grundläggande.
När du felsöker en ny kärnfil kan du också studera intervall och uttryck.för att se de värden de fick kvar med efter att programmet kraschade, men individer kan inteutvärdera uttryck som genererar funktionsloggar. Kan inte ägare ta ett enda steg eller ett enda förslag?Kontrollpunkter.
Om din huvudfil är trunkerad
Om du är orolig för att överföra huvudfilen, se till att du har en annan trunkeradBasfil. När den maximala tillåtna storleken när rapportmotorer är för litenOm din kärnfil är skapad på ett säkert sätt, borde dbx kunna inte läsa den.Som en händelse reduceras filkärnan. I C-skalet kan någon ställa in det högsta tillåtnaHuvudfilens längd med kommandot prohibit (se varje sida för limit (1) personer). I Bourne och korn devoten använder du ulimit tvinga (se limit (1) man-sidan). Du kanÄndra någon av våra kreditgränser för basfilstorlek i din högra skalfil, startresursfil, sprint dessutom, starta sedan om progthe ramma eftersom genererade, skulle jag säga, huvudfilenför att veva ut en komplett nyckelfil.
Om den dominerande filen är ofullständig och stacksegmentet förmodligen saknas för närvarande, dåMer information om stackkonturen är inte tillgänglig. När länkinformation läsesär felplacerad, nämn detta eftersom loadobjects inte presenteras. I det här fallet, dufå ett bra felsvar på librtld_db.so initieras inte alltid.Om det för närvarande inte finns någon LWP-lista, så finns det lite information om bandet, information,eller spåra viktig information för lwp-bundet är tillgänglig, när du kör kommer du att se kommandot på vilket ,Du får ett felmeddelande som indikerar att behandlingen inte var "aktiv".
Felsök en icke-kompatibel kärnfil
Ibland skapas huvudfilen av vem som helst på systemet (på huvudvärden), utöver detvill ladda ner huvudfilen till nästa enhet (värd dbx )felsöka det. Men speciellt under denna operation finns det två problem med biblioteken.så:
-
Delade bibliotek som används av produkten med huvudvärdenditt lokala bibliotek kan vara mycket annorlunda från dbx-värdbiblioteket. Var en originalgrupp i slutetFör spår som påverkar samlingar vill du skapa dessa originalbibliotekvanligtvis erbjuds på dbx-host. Använd
-
Systembibliotek dbx när det gäller / usr / lib för att förstå implementeringsdetaljerna, deras körtidslänkaroch ett garnbibliotek på vårt eget system. Du kan dessutom behöva föreslå dettaGrundläggande värdsystembibliotek helt som dbx kan förståa av läror länk av dator filstrukturer och ström data lador.
Bekvämlighetsbibliotek och systembibliotek kan ibland ändras som ett resultat av korrigeringar.som omfattande uppdateringar av Solaris operativa miljö, vilket gör detta metodproblem ännu allvarligare.inträffa på samma grupp om till exempel den faktiska patchen sattes efter kärnanFilen kompilerades, men körde tidigare dbx i din primära kärna.Fil.
dbx kan visa ett annat fel enligt följande felMeddelanden när den kommande "obegripliga" kärnfilen laddas:
Åtgärdade problem med delade bibliotek och
För att lösa biblioteksproblem men ändå felsöka trevliga "inkompatibiliteter"Basfil
-
Ställ in miljövariabeln dbx core_lo_pathmap till mot .
-
Använd ett av många av våra pathmap kommandon för att ange varVanligtvis finns det redan dbx återställningsbibliotek för den väsentliga filen.
-
Använd kommandot debug för att felsöka ochbasfilen för själva programmet.
Till exempel om det underliggande avsnittethuvudvärden du fick exporterades via NFS och kan nås via / earn / core-host / på dbx mastersymaskinen, du behöver göra följandeKommandon för att smörja prog utbildningskursen och prog file.core huvudtekniken för felsökning:
dbxenv nowrap>(dbx) core_lo_pathmap på (dbx) Sökväg till manualen / usr / net / core-host per usr (dbx) Pathmap / appstuff / net - core-host / appstuff (dbx) felsökningsleverantör prog.core
Om du inte exporterar den omfattande rotsektionen för den primära värden, behöver du säkert en ny.Kopiera biblioteken manuellt. Du vill inte återskapa symboliska länkar. (TILLFör scenen bör du inte länka libc from.so för att hjälpa dig med libc.so.1 ; Se bara till att libc.so.1 är tillgänglig utan frågor.)
Saker att komma ihåg
Använd ett lämpligt smart tillvägagångssätt när du felsöker en icke-kompatibel huvudfil manuellt:
-
Kommandoraden pathmap känner verkligen igenpathmap för att få '/', så du kan inte prova det specifika kommandot:
Pathmap / / webbplats / core-host
-
Enkelt argumentläge för en handfull kommandon sökvägskarta fungerar inte nu med loadobject-sökvägar, använder verkligen båda från-väg-argumentenläge mot.
-
Att felsöka en av våra huvudfiler kommer förmodligen att fungera bäst om dbx-värdeneller har exakt samma, möjligen nyare version av Solaris Operating Environmentsom primär värd, även om detta kanske inte automatiskt är nödvändigt.
Godkänd: Fortect
Fortect är världens mest populära och effektiva PC-reparationsverktyg. Det litar på miljontals människor för att hålla sina system igång snabbt, smidigt och felfritt. Med sitt enkla användargränssnitt och kraftfulla skanningsmotor hittar och fixar Fortect snabbt ett brett utbud av Windows-problem – från systeminstabilitet och säkerhetsproblem till minneshantering och prestandaflaskhalsar.
- 1. Ladda ner Fortect och installera den på din dator
- 2. Starta programmet och klicka på "Skanna"
- 3. Klicka på "Reparera" för att åtgärda eventuella problem som upptäcks
Du kan behöva våra egna följande systembibliotek:
-
Till webbplatslänklektioner:
/usr/lib/ld.so.1
/usr/lib/librtld_db.so.1
/usr/lib/64/ld.so.1
/usr/lib/64/librtld_db.so.1
-
För strömmande bibliotek enligt lib implementeringstråd av dig:
/usr/lib/libthread_db.so.1
/usr/lib/64/libthread_db.so.1
/usr/lib/lwp/libthread_db.so.1
/usr/lib/lwp/64/libthread_db.so.1
Gäller endast mjukvarupaketet
/ usr / lib lwp om du kör dbx från en Solaris 8-operativmiljö, och ändå bara gör omAlternativt kan du använda libthread sortimentet.
dig64-bitarsversioner kräver vanligtvis sex _db.so bibliotek om dbx i bästa fall är 64-bitarsversioner.Solaris OS-version som kommer från detta system, biblioteken laddade och fortfarande gäller användningsom en del av dbx , inte som en aspekt av målprogrammet.
ld.so.1 biblioteken är målet för startbildentill exempel libc.so fil eller en mängd andra bibliotek, så du behöver 32-bitars bibliotek ld.so.1 eller 64-bitars bibliotek ld. en så viktig person. 1 butikmotsvarar det program som experter hävdar skapade filens centrum.
-
Om du letar efter en princip
Inkludera utan tvekan dbx situationsvariabeln core_lo_pathmap. Använd kommandot my brand new pathmap för att tala om för dbx var de korrekta biblioteken ska användas för huvudfilen. Använd kommandot debug för att ladda ditt program samt , kärnfil.
När du joggar på ett löpband trycker du på Ctrl + för att tvinga fram en dumpning i mitten. Nu kommer du att se huvudstarten i någon annans katalog du befinner dig i. Eftersom vi aldrig har en körbar fil med felsökningsbilder för att göra detta, öppnar vi bara huvudfilen i gdb istället för den körbara i symboler + huvudfil.
Se till att min binär är kompilerad med hjälp av felsökningssymboler.definiera ulimit och till och med kärna. core_pattern kommer förmodligen att vara korrekt.kör programmet.öppna dumpen med gdb, ladda representationer och kör bt.Försök att ta reda på vad som hände korrekt!