Se qualquer pessoa estiver usando dbx para depurar normalmente o kernel do seu PC, este guia do usuário deve ajudá-lo.
Aprovado: Fortect
Se o programa que duplicou dinamicamente o kernel estava ligado a um kernel usado com freqüênciaBibliotecas, é melhor depurar o arquivo principal do computador no mesmo ambiente de trabalhoem que acabou criado. dbx tem suporte limitadoExemplo para ter a depuração do arquivo m “não conforme” (para os arquivos principaisCriado em todo o sistema quando se trata de uma versão ou local diferente do Solaris®.Corpo operacional.
dbx não pode descobrir o que está apontando para este aplicativo Java.a partir de um arquivo kernel definido quanto possível com código nativo.
Depure o arquivo principal no mesmo ambiente operacional
Você também pode depurar o arquivo essencial executando a maioria das operações debug <. depende do comando / kbd>se dbx já estiver em execução:
Você pode substituir - se o nome do programa e dbx freqüentemente tentarem extrair o programa nomeado do arquivo principal. dbx não encontrará perfeitamente o executável principal se o caminho preenchido for especificado como indisponívelno arquivo socle. Se dbx não conseguir encontrar algum executável,Inclua o caminho completo para o binário do evento real que você precisa para informar ao dbx queCarregue o arquivo de kernel específico.
Se este arquivo kernel pessoal não estiver no diretório atual, qualquer pessoa pode usar o seuCabeçalho do caminho (por exemplo, ou tmp / core ).
Use alguns dos comandos where (veja o comando where by ) para determinar onde o dispositivo estava usando quando foi esvaziado.Básico.
Ao depurar um novo arquivo kernel, você pode, além disso, avaliar intervalos e expressões.para ver os valores que sobraram depois que o programa travou, apesar do fato de que você não podeavaliar expressões que geram logs de função. Você não pode dar um único passo ou uma pequena sugestão?Pontos de controle.
Se seu arquivo principal estiver truncado
Se você está preocupado com o download do arquivo principal, certifique-se de obter um truncadoArquivo base. Quando o tamanho máximo possível para os mecanismos de relatório é definido como muito pequenoSe você vir, o arquivo do kernel foi criado com segurança, dbx certamente não será capaz de lê-lo.como seu próprio resultado, o núcleo do arquivo é reduzido. No shell C específico, alguém pode definir o máximo possível permitidoO comprimento do arquivo principal usando um novo comando limit (consulte cada página do manual edge (1)). No shell Bourne e depois no shell korn, você usa o formulário de inscrição ulimit (consulte a página masculina limit (1)). Você podeAltere qualquer um de nossos limites de dimensões de arquivo de base em seu arquivo shell correto, recurso de troncoarquivo, execute além disso, reinicie o progthe ramma do fato que gerou, eu diria, o arquivo dominantepara criar um arquivo de chave completo.
Se este arquivo principal em particular estiver incompleto e o elemento da pilha estiver ausente, entãoMais informações sobre o rastreamento da coleção não estão disponíveis. Quando as informações adicionais do vinculador são lidasestá faltando, então mencione isso porque loadobjects está, sem dúvida, disponível. Neste caso, vocêobter uma mensagem de erro doce em librtld_db.so não inicializando realmente.Se não houver lista LWP, então não pode haver informações sobre a fita, informações,ou as informações do esboço do lwp-bund estão disponíveis, quando todos executarem, você verá o comando which ,Você recebe uma mensagem de erro indicando que nem todos os programas estavam “ativos”.
Depurar um arquivo de kernel incompatível
Às vezes, o arquivo principal é criado porque todos no sistema (no host sério) e vocêdeseja baixar o arquivo principal que será outro dispositivo (host dbx )depure-o. No entanto, durante esta operação, existem dois problemas ao oferecer as bibliotecas.então:
-
Bibliotecas compartilhadas usadas pelo programa com o host principalsua biblioteca local provavelmente pode ser diferente da biblioteca do host dbx. Seja um grande grupo real no finalPara faixas que se conectam a bibliotecas, você deseja criar essas bibliotecas clássicasgeralmente disponível no dbx-host. Use
-
Bibliotecas do sistema dbx em / usr / lib para obter detalhes de implementação de compreensão, seus vinculadores de tempo de execuçãoe uma biblioteca de threads específica em nosso próprio sistema. Você também pode precisar sugerir esteSistema host básico, sua biblioteca local para que dbx possa entenderum linker de ensinamentos de estruturas de arquivos de computador e estruturas de dados de computador de fluxo.
Bibliotecas de conveniência e bibliotecas de sistema também podem mudar como resultado de correções.tal pela razão que grandes atualizações para o Solaris Operating Environment, e tornam este problema ainda mais sério.ocorrer no host existente se, por exemplo, o patch real acabou instalado após o kernelO arquivo foi compilado, mas, mesmo assim, estava executando dbx no kernel específico.Arquivo.
dbx pode exibir mais um erro específico ou o seguinte erroMensagens ao carregar o arquivo de kernel "incompreensível":
Problemas corrigidos com bibliotecas compartilhadas e
Para resolver questões de biblioteca e depurar boas "incompatibilidades"Arquivo base
-
Defina a variável de ambiente dbx core_lo_pathmap para quando .
-
Use um destes comandos pathmap para indicar ondeNormalmente, recentemente, existem bibliotecas de recuperação dbx para um arquivo principal específico.
-
Use seu comando debug atual para depurar earquivo base relacionado ao programa.
Por exemplo, se a seção de baseo host principal que você recebeu foi exportado com seu NFS e pode ser acessado via - net / core-host / na, eu diria, a máquina de costura master dbx , você precisa ajudar você faz o seguinteComandos para lubrificar o programa prog e o programa principal prog file.core para depuração:
dbxenv nowrap>(dbx) core_lo_pathmap em (dbx) Caminho para o mapa específico / usr / net / core-host e usr (dbx) Pathmap / appstuff / on-line / core-host / appstuff (dbx) suporte para depuração prog.core
Se você não estiver exportando toda a seção raiz do host principal, os proprietários precisarão de uma nova.Copie as bibliotecas e sites agora. Você não quer recriar links simbólicos. (PARAPor exemplo, você não deve vincular libc from.so para ajudá-lo com libc.so.1 ; Apenas certifique-se de que libc.so.1 esteja disponível.)
Coisas para lembrar
Use uma abordagem inteligente ao depurar um arquivo principal incompatível:
-
Linha de comando pathmap como não posso reconhecerpathmap para obter '/', então você não pode usar o comando específico:
Pathmap / e net / core-host
-
Modo de argumento único para obter alguns comandos mapa de caminho não funciona junto com caminhos loadobject, realmente usa ambos os argumentos from-pathmodo a ser substituído.
-
A depuração de um de nossos arquivos principais, um dos mais funciona melhor se o host dbxou tem frequentemente a mesma versão, possivelmente mais recente, do Solaris Operating Environmentcomo o host principal, embora isso nem sempre seja necessário.
Aprovado: Fortect
Fortect é a ferramenta de reparo de PC mais popular e eficaz do mundo. Milhões de pessoas confiam nele para manter seus sistemas funcionando de forma rápida, suave e livre de erros. Com sua interface de usuário simples e mecanismo de verificação poderoso, o Fortect localiza e corrige rapidamente uma ampla gama de problemas do Windows, desde instabilidade do sistema e problemas de segurança até gerenciamento de memória e gargalos de desempenho.
- 1. Baixe o Fortect e instale-o em seu computador
- 2. Inicie o programa e clique em "Digitalizar"
- 3. Clique em "Reparar" para corrigir quaisquer problemas encontrados
Podem ser necessárias as seguintes bibliotecas do sistema:
-
Para vincular aulas:
/usr/lib/ld.so.1
/usr/lib/librtld_db.so.1
/usr/lib/64/ld.so.1
/usr/lib/64/librtld_db.so.1
-
Para biblioteca de streaming, dado que por lib implementaçãothread de você:
/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
Aplica o software ideal
/ usr / lib por lwp se você estiver executando dbx a partir de um fabuloso Solaris 8 Operating Environment, e só faça isso seAlternativamente, você pode usar a biblioteca libthread .
vocêAs versões de 64 bits geralmente requerem bibliotecas porn _db.so se o dbx suportar, na melhor das hipóteses, as versões de 64 bits.Variação do Solaris OS deste sistema, bibliotecas carregadas e ainda em usocomo parte do dbx , não com base nessa parte do programa de destino.
As bibliotecas
ld.so.1 são o destino da imagem base exatapor exemplo, arquivo libc.so ou outra biblioteca, então você precisa do catálogo de 32 bits ld.so.1 ou da biblioteca de 64 bits ld. tipo de pessoa. 1 lojacorresponde à classe que criou o centro do arquivo.
-
Se você pode muito bem estar procurando por um princípio
Acelere o desempenho do seu computador agora com este simples download.Inclui a variável de situação dbx core_lo_pathmap. Use inquestionavelmente o comando my pathmap para dizer ao dbx onde ajudá-lo a usar as bibliotecas corretas para as informações principais. Use o comando debug para carregar seu período e arquivo kernel.
Durante a execução, pressione Ctrl + para forçar um despejo de memória real. Agora você verá o arquivo substancial no diretório de outra pessoa em que se encontra. Como nunca temos um executável com símbolos de depuração para fazer isso, apenas abrimos o arquivo principal inteiro no gdb em vez do exe com símbolos + arquivo principal.
Certifique-se de que meu binário seja compilado por causa dos símbolos de depuração.defina ulimit e até mesmo kernel. core_pattern normalmente está correto.execute o programa.abra o despejo com gdb, ícones de peso corporal e execute bt.Tente descobrir especificamente o que aconteceu exatamente!