Pergunta

Eu uso o VS2K8 para escrever e compilar (mas não executar) um programa usando as bibliotecas MPICH2 no Vista X64. Eu então uso mpiexec Na linha de comando para iniciar o programa (com apenas 1 processo para fins de depuração), e eu gostaria de anexar o GDB a ele. Simplesmente usando attach ou gdb --pid=### não funciona (eu recebo o erro Can't attach to process), presumivelmente porque o VS não compila o código com as informações de depuração certa. Por outro lado, apesar de várias sessões do Google ainda não encontrei a linha de comando real que o VS usa para compilar, por isso não posso simplesmente entrar e editá -la.

Observe que a única razão pela qual eu uso o VS é porque não consegui obter o G ++ para encontrar as bibliotecas MPI ao tentar compilar a partir da linha de comando, enquanto o VS precisava apenas de alguns cliques para fazer tudo funcionar. (Sim, eu tentei o -I e -l interruptores, mas sem sucesso)

Tudo o que preciso é anexar o GDB ao processo executando meu programa MPI, eu realmente não me importo como é feito. Qualquer ajuda é apreciada.

Foi útil?

Solução

Os formatos binários de Cl.exe (Visual Studio) e GDB são infelizmente incompatíveis. Você não poderá usar o GDB para depuração, a menos que possa descobrir uma maneira de reconstruir o código com o GCC. Enquanto isso, você pode depurar seu programa com o Visual Studio diretamente, indo para ferramentas> Anexar para o processo (ou pressionar Ctrl+Alt+P)

Outras dicas

GDB não funcionará, mas você pode usar Gflags Para fazer com que seu programa funcione de um depurador (vs, windbg, ...) sempre que for lançado. Há também uma opção de registro para fazer isso diretamente: HKLM Software Microsoft Windows NT CurrentVersion Image File Execution Options ImageFilename Debugger

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top