begin process at 2012 05 30 20:04:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Driver

 > 

Windbg Symbol Driver


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Windbg Symbol Driver

mercredi 28 janvier 2009 à 10:49:51 | Windbg Symbol Driver

Crazydede42

Bonjour à tous !

 Étant étudiant en informatique, je m'intéresse au driver mais n'ai que de vagues notions.
 Voila j'ai récemment compiler un driver et je souhaiterais pouvoir le debug sous WinDbg. En effet j'aimerais suivre ses étapes par le biais de son code source en C++ (C'est bien possible avec WinDbg rassurez moi ?).
 J'ai en effet config WinDbg en remote 1394 et dispose (il me semble) des bonnes variables d'environnements.
 Cependant je n'arrive pas a charger son .pdb dans Windbg (du moins je crois) et évidemment je ne capte rien à l'assembleur...(?_?)
 Voici le genre d'erreur insupportable :
WARNING: Inaccessible path: 'C:\Documents and Settings\Administrateur\Bureau\Driver\Debug\Driver.pdb'
WARNING: Inaccessible path: 'C:\Documents and Settings\Administrateur\Bureau\Driver'
 Je me suis intéressé à des softs tel que environ.exe ou bugbug mais je n'ai pas trouvé de rapport concret avec ce que je désire faire... (peut-être me trompes-je ?)

 Quelqu'un serait-il capable de m'expliquer le cheminement nécessaire à l'incorporation des symboles de mon driver (.pdb) sous WinDBG afin que je puisse poursuivre mes recherches

Merci d'avance.
David.

PS : Une autre question serait de savoir ce que veut dire cette erreur :
                      CrossNtK.lib(CrossNt.obj) : error LNK2001: symbole externe non résolu _KeNumberProcessors
        (Car elle me pose un léger souci de compil en "Debug" avec VC(qu'elle .lib ajouter?? alors que je compile très               bien avec le compilateur du DDK) mais ce n'est pas la question importante de ce sujet )

mercredi 28 janvier 2009 à 12:28:16 | Re : Windbg Symbol Driver

racpp

Administrateur CodeS-SourceS
Réponse acceptée !
Salut,
Je te rassure, tu pourras déboguer des drivers avec WinDbg avec les symboles et tout. Je l'ai déjà fait avec des drivers en C, en reliant deux PC via le port série ou en utilisant un PC virtuel. Je suis maintenant au boulot, dès que je rentre chez moi ce soir je te fournirais les détails.
mercredi 28 janvier 2009 à 20:12:31 | Re : Windbg Symbol Driver

racpp

Administrateur CodeS-SourceS
Réponse acceptée !
Pour ta question principale:
Pour faire un driver, il faut utiliser le DDK (ou WDK). Le fichier .sys sera généré dans un sous-dossier du genre "objchk_wxp_x86\i386" de ton dossier de travail. Il est toujours accompagné de son .pdb. Pour permettre à WinDbg de le reconnaitre, il faudra aller dans le menu "File" puis choisir "Image File Path" et mettre le chemin complet de ce sous-dossier. Evite d'utiliser des chemin contenant des espaces.

Pour ta question secondaire:
Evite d'utiliser VC. Un driver se fait avec le DDK (ou WDK).

jeudi 29 janvier 2009 à 11:25:43 | Re : Windbg Symbol Driver

Crazydede42

Réponse acceptée !
Tout d'abord merci a toi Racpp !

 Il est tout a fait possible de compiler un driver avec visual studio ce qui est pratique quand on développe un driver croyez moi ! Pour ce faire il suffit d'installer le DDK Wizard disponible sur le site d'OSR et de paramétrer correctement ses variables d'environnement et autres fichiers .mak ou sources.

 Concernant Windbg, mon problème s'est résolu en utilisant l'outil SymStore.exe disponible dans le dossier de windbg. En effet, racpp, j'avais bien mentionner le bon chemin dans image path... Merci tout de même de ta réponse ca fait toujours enormément plaisir de voir des personnes qui s'investissent et soutiennent de jeunes développeurs (like me ).

 Les outils de windbg (dans son dossier) sont très utiles n'hésitez donc pas à les utiliser, bricoler, etc... !
DDK Wizard peut vous simplifier la vie, mais le DDK de wind est bien sur obligatoire (et plus simple d'util) !

 Je recherche désormais des add-ins ou plug-ins pour VS. En effet je souhaiterais y ajouter le debuggeur de Windbg pour etre plus performant... J'ai bien trouver "AttachWindbg.vsi" sur le net mais je n'arrive pas à l'installer...
 J'ai aussi trouver SOSEX (de Steve Johnson ; http://www.wintellect.com/cs/blogs/jrobbins/archive/2007/06/19/great-sosex-a-phenomenal-net-debugging-extension-to-see-the-hard-stuff-steve-johnson-is-my-hero.aspx) qui m'a l'air sympathique à utiliser (permet de faire de BP directly dans le code source) mais je me demande s'il est compatible avec la création de driver ?! Si quelqu'un à une idée ou autres conseils, je suis preneur !

Encore merci Racpp !
jeudi 29 janvier 2009 à 17:34:39 | Re : Windbg Symbol Driver

voldemort09

Bonjours,

J'ai également un problème similaire:

J'ai correctement installé WinDbg sur mon PC. OS Windows Vista Home Premium. J'ai redémarré en mode debug avec 'bcdedit -debug on' pour utiliser le local debugging.
Mes symbols sont défini: "C:\Windows\Symbols"
Source search path: "C:\WinDDK\6001.18002\Driver"
Image File path: "C:\WinDDK\6001.18002\Driver\objchk_wlh_x86\i386"
La compilation avec WDK se fait sans aucun problème. Le fichier .pdb est bien géré, et le .sys est parfaitement compiler.

Mais après avoir lancer le mode debug en local avec WinDbg, je reçois l'erreur suivante:

Microsoft (R) Windows Debugger Version 6.10.0003.233 X86
Copyright (c) Microsoft Corporation. All rights reserved.

Connected to Windows Server 2008/Windows Vista SP1 6001 x86 compatible target at (Thu Jan 29 17:15:08.782 2009 (GMT+1)), ptr64 FALSE
Symbol search path is: C:\Windows\Symbols
Executable search path is:
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for ntkrpamp.exe -
Windows Server 2008/Windows Vista SP1 Kernel Version 6001 (Service Pack 1) MP (2 procs) Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS Personal
Built by: 6001.18145.x86fre.vistasp1_gdr.080917-1612
Machine Name:
Kernel base = 0x82640000 PsLoadedModuleList = 0x82757c70
Debug session time: Thu Jan 29 17:15:09.031 2009 (GMT+1)
System Uptime: 0 days 0:02:17.877

Comment résoudre cette erreur ?
Encore mieu: Comment debuguer !?
Je ne connais pas bien les commande. La seul chose que j'aimerai faire c'est suivre pas-à-pas l'exécution.
Comment faire svp ?

jeudi 29 janvier 2009 à 17:40:00 | Re : Windbg Symbol Driver

voldemort09

Ahhh... vraiment désoler du double post, mais j'ai trouver comment debuger, il faut lancer "Go".
Mais je reçois ceci:: <<No runnable debuggees error in 'g'>>
jeudi 29 janvier 2009 à 19:41:11 | Re : Windbg Symbol Driver

racpp

Administrateur CodeS-SourceS
Je sais qu'il est possible d'utiliser VC pour "faire" des drivers bien qu'il ne soit pas conçu pour ça. Je connais le DDK Wizard car je l'avais essayé mais je n'ai pas du tout aimé. A mon avis, c'est du bricolage inutile car en général un code pour driver est assez petit. Le débogage ne peut pas fonctionner car un driver s'exécute en Kernel-Mode.
Pour déboguer un driver avec WinDbg, comme je disais plus haut, il faut utiliser soit 2 PCs soit 1 PC avec un PC virtuel installé dedans. Je préfère la deuxième solution. Le débogage en local n'est pas possible. Il existe SoftIce, en fenêtre DOS like, qui peut le faire en local mais là c'est une histoire. Quand on veut débuguer un driver tout le système se trouve bloqué à chaque  point d'arrêt. C'est la raison pour laquelle on est obligé d'utiliser deux systèmes. Sur le premier, on exécute WinDbg en chargeant le code source et les symboles. Sur le deuxième on exécute le driver. Ainsi on peut le tracer et déboguer comme s'il s'agit d'une application User-Mode  avec tout le confort que cela apporte.
Merci pour les utilitaires de WinDbg. Je ne les connaissais pas car j'en avais jamais besoin.
jeudi 29 janvier 2009 à 20:57:14 | Re : Windbg Symbol Driver

voldemort09

"Merci pour les utilitaires de WinDbg. Je ne les connaissais pas car j'en avais jamais besoin."

Tu utilises quoi alors pour debuger un Driver ?
Ok, pour la Machine Virtuel, mais pourrai tu me donner plus d'info stp ?
jeudi 29 janvier 2009 à 21:16:03 | Re : Windbg Symbol Driver

voldemort09

Je retire, j'ai trouvé un tuto. Je vous tiens au courant si j'ai un problème :p
jeudi 29 janvier 2009 à 21:33:43 | Re : Windbg Symbol Driver

racpp

Administrateur CodeS-SourceS
Pour déboguer un driver j'utilise WinDbg sans les utilitaires qui se trouvent dans son dossier. Pour le PC virtuel tu peux utiliser Virtual PC 2007 ou tout autre logiciel de virtualisation.

1 2

Cette discussion est classée dans : debug, driver, symbol, pdb, windbg


Répondre à ce message

Sujets en rapport avec ce message

Aide WDK + TraceView [ par FloWeRvIncube ] Voilà je suis actuellement sur un developpement d'un driver d'imprimante virutelle pour mon entreprise. Et je me trouve devant le problème suivant : J Implementation des algorithmes dans le Driver de la cam [ par lion25m ] Bonjours tout le monde,j ai besoin d`aide,:-(jai programmé des algorithmes (j ai fait meme ses dll )pour l ajustement de GAIN et OFFSET de camera (uEy Problème de débutant en codage de driver windows [ par TorTukiTu ] Bonjour les gens,J'ai décidé de créer mon premier driver windows en C : le driver qui dit coucou. J'ai téléchargé le WDK chez microsoft et lancé l'env Probleme de preprocesseur [ par alphaone ] Bonjour, j'ai un fichier d'en tête .h inclut partout ou il y as:#ifndef INCLUDE_ENV_H#define INCLUDE_ENV_H//debug level, 0: no debug, 10 critical and error LNK2001: unresolved external symbol _auxDIBImageLoadA@4 [ par maximol ] salut tout le monde!!bah j'ai un programme en c++ ,cathegorie OpenGl...j'ai inclus toutes les bibliothéques mais pourtant il me donn toujours lors de Error LNK2001: unresolved external symbol [ par OverOver ] Bonjour,Je dois utiliser un projet c++ en tant que DLL dans Labview. J'ai donc crée une application DLL (sous Win32 Dynamic-Link Library) auquel j'a Migration driver USB de XP vers VISTA [ par durandalus ] Bonjour à tous !Je suis entrain de travailler sur une migration d'une liste de drivers de disques USB d'XP vers VISTA et je voudrais bien qu'on me fil comment faire un #if "debug/release mode" [ par nord666 ] Salut à tous et à toutes,Je me demande si c'est possible de pouvoir faire quelque chose du genre(j'utilise visual studio 8.0):#if (le mode dans lequel probleme de debug sous vs 2008 [ par michel_arnaud ] bonjourj'ai régulièrement l'erreur suivante que je réparres en modifiant mon code mais bon pas terrible.An unhandled non-continuable STATUS_DLL_NOT_FO


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,215 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales