Lionel Debroux Le 22/04/2009 à 20:01Edité par Lionel Debroux le 22/04/2009 à 20:02 Avec la ligne de commande GDB, il faut taper
b main
Insight a peut-être quelque chose dans ses menus pour faire ça, je ne sais pas.
TiEmu met déjà un breakpoint au début de main, il suffit de cliquer sur "Continue" dans la Source Window pour sauter le stub et/ou code de démarrage.
F11, ça ouvre le débogueur. Et envoie ton programme à la calc avec "Debug file with TiEmu".
Ignore ce que te dit Folco qui comme d'habitude fait tout à la main:
1. Le débogueur s'ouvre tout seul si on utilise "Debug file with TiEmu" correctement.
2. L'EDI s'occupe du "Debug file with TiEmu" tout seul.
Voilà les étapes à suivre:
1. Ouvrir le projet à déboguer dans TIGCC IDE (de TIGCC 0.96 Beta 8 – si tu en es encore à la 0.95 ou pire, mets-toi à jour!) ou KTIGCC.
2. Vérifier que TiEmu est choisi dans File / Preferences / Transfer.
3. Debug / Run (ou F9).
4. Attends que le débogueur s'ouvre. (Si tu n'as pas enregistré une configuration dans TiEmu, il te demandera de choisir une ROM quand il démarre, fais-le.)
5. Clique sur Continue dans le Source Window pour sauter le code de démarrage de TIGCCLIB.
et voilà, tu te retrouves au début de _main.
Ce n'est pas une erreur avec D-Bus (c'est juste le message d'erreur qui ne distingue pas), c'est un problème à l'intérieur de TiEmu.
J'ai trouvé une "race condition" possible (le code pour tester si la calculatrice est prête utilise l'envoi de touches pour envoyer ON; or, TiEmu prévoit un seul buffer d'envoi de touches actif à la fois, donc si ON n'a pas encore été traîté pour une raison ou pour une autre, l'envoi des touches échoue, il faut que je corrige ça), mais le problème dans ton feedback m'a l'air d'en être un autre (avec PedroM spécifiquement).
Confirmé, c'est dû au nouveau pilote X11 qui gère tous les périphériques d'entrée (evdev), sauf les touchpads pour lesquels il y a le pilote synaptics (souris depuis F9, claviers depuis F10). Il utilise des codes de touches différents. Or TiEmu code les codes de touches matériels en dur, donc paf!