Accueil > > > [WIN32] EASY DEBUG
[WIN32] EASY DEBUG
Information sur la source
Description
Bon, ce code est assez leger, mais bon, il sert. Je l'ais écris car j'en avais marre de devoir taper a chaque fois MessageBox(etc...) pour chaque string, ou alors 5/6 lignes pour un etat booleen. Donc il suffit d'inclure un .cpp et on utilise une commande Debug qui supporte les char*, les int et les bool, libre a vous de le completer, je me ferai une joie de le rajouter dans ce cpp. Bien sur ce code est peu commente, vous comprenez pourquoi ;-), et il ne sert a rien pour les applications console car un simple printf suffit.
Source
- //DebugFacile.cpp
-
- #include "stdafx.h"
- #include <stdlib.h>
-
- void Debug(char* Message)
- {
- MessageBox(NULL,Message,"Easy Debug",MB_OK);
- }
-
- void Debug(int Nombre)
- {
- char* Message;
- Message = new char[6];
- itoa(Nombre,Message,10);
- MessageBox(NULL,Message,"Easy Debug",MB_OK);
- delete[] Message;
- }
-
- void Debug(bool Boolean)
- {
- char* Message;
- if(Boolean == true){
- Message = new char[7 + 4 + 1]; // = len("Etat = ") + len("true") + le \0
- strcpy(Message,"Etat = true");
- }
- else{
- Message = new char[7 + 5 + 1]; // = len("Etat = ") + len("false") + le \0
- strcpy(Message,"Etat = false");
- }
-
- MessageBox(NULL,Message,"Easy Debug",MB_OK);
- delete[] Message;
- }
-
- void Debug(char* Objet,char* String)
- {
- char* Message;
-
- Message = new char[strlen(Objet) + 3 + strlen(String) + 1];
- strcpy(Message, Objet);
- strcat(Message," = \"");
- strcat(Message,String);
- strcat(Message,"\".");
-
- MessageBox(NULL,Message,"Easy Debug",MB_OK);
- delete[] Message;
- }
-
- void Debug(char* Objet,int Nombre)
- {
- char* Message;
- char* temp;
-
- temp = new char[6];
- itoa(Nombre,temp,10); //Transforme un nombre en un char*
-
- Message = new char[strlen(Objet) + 3 + strlen(temp)+1]; // = len(Objet) + len (" = ") + len(temp) + le \0
- strcpy(Message,Objet);
- strcat(Message," = ");
- strcat(Message,temp);
-
- MessageBox(NULL,Message,"Easy Debug",MB_OK);
-
- delete[] Message;
- delete[] temp;
- }
-
- void Debug(char* Objet,bool Etat)
- {
- char* Message;
-
- if(Etat == true){
- Message = new char[strlen(Objet) + 3 + 4 + 1]; // = len(Objet) + len (" = ") + len("true") + le \0
- strcpy(Message,Objet);
- strcat(Message," = true");
- }
- else{
- Message = new char[strlen(Objet) + 3 + 5 + 1]; // = len(Objet) + len (" = ") + len("false") + le \0
- strcpy(Message,Objet);
- strcat(Message," = false");
- }
-
- MessageBox(NULL,Message,"Easy Debug",MB_OK);
-
- delete[] Message;
- }
//DebugFacile.cpp
#include "stdafx.h"
#include <stdlib.h>
void Debug(char* Message)
{
MessageBox(NULL,Message,"Easy Debug",MB_OK);
}
void Debug(int Nombre)
{
char* Message;
Message = new char[6];
itoa(Nombre,Message,10);
MessageBox(NULL,Message,"Easy Debug",MB_OK);
delete[] Message;
}
void Debug(bool Boolean)
{
char* Message;
if(Boolean == true){
Message = new char[7 + 4 + 1]; // = len("Etat = ") + len("true") + le \0
strcpy(Message,"Etat = true");
}
else{
Message = new char[7 + 5 + 1]; // = len("Etat = ") + len("false") + le \0
strcpy(Message,"Etat = false");
}
MessageBox(NULL,Message,"Easy Debug",MB_OK);
delete[] Message;
}
void Debug(char* Objet,char* String)
{
char* Message;
Message = new char[strlen(Objet) + 3 + strlen(String) + 1];
strcpy(Message, Objet);
strcat(Message," = \"");
strcat(Message,String);
strcat(Message,"\".");
MessageBox(NULL,Message,"Easy Debug",MB_OK);
delete[] Message;
}
void Debug(char* Objet,int Nombre)
{
char* Message;
char* temp;
temp = new char[6];
itoa(Nombre,temp,10); //Transforme un nombre en un char*
Message = new char[strlen(Objet) + 3 + strlen(temp)+1]; // = len(Objet) + len (" = ") + len(temp) + le \0
strcpy(Message,Objet);
strcat(Message," = ");
strcat(Message,temp);
MessageBox(NULL,Message,"Easy Debug",MB_OK);
delete[] Message;
delete[] temp;
}
void Debug(char* Objet,bool Etat)
{
char* Message;
if(Etat == true){
Message = new char[strlen(Objet) + 3 + 4 + 1]; // = len(Objet) + len (" = ") + len("true") + le \0
strcpy(Message,Objet);
strcat(Message," = true");
}
else{
Message = new char[strlen(Objet) + 3 + 5 + 1]; // = len(Objet) + len (" = ") + len("false") + le \0
strcpy(Message,Objet);
strcat(Message," = false");
}
MessageBox(NULL,Message,"Easy Debug",MB_OK);
delete[] Message;
}
Conclusion
Je vous vois venir avec vos : Pourquoi t'a mis strcat au lieu de sprintf ? Réponse simple, moins il y a de librairie mieux c'est, donc, comme strlen m'étais indispensable, ben j'ai utilisé les commandes de string.h comme ça ya pas de stdio.h ;-). Et de 2, la vitesse n'a içi aucun interet car MessageBox bloque le processus.
Historique
- 17 juin 2005 17:14:13 :
- Séparation du code pour un main.cpp et un DebugFacile.cpp
- 17 juin 2005 18:38:48 :
- Rajout de quelque delete oublié malencontreusement (j'ai pas d'escuse dsl lol). @ chao bonsoir !
- 23 février 2006 10:32:12 :
- Un peu long, mais j'ai rajouté les delete[] et un zip pour qu'il puisse etre facilement utilisable.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
VC++ et access [ par tafiscobar ]
voila, je fais un petit programme qui prend des valeurs ds un base de données pour les inscrire ds un fichier , voici ce q j'ai fait pour ouvrir la ba
VC++ et access [ par tafiscobar ]
voila, je fais un petit programme qui prend des valeurs ds un base de données pour les inscrire ds un fichier , voici ce q j'ai fait pour ouvrir la ba
Prob grave avec Visual... [ par Nuage ]
Voila, j'ai un grave problème avec le debug de Visual. Je fait un bête code source, avec une fonction pour créer un élement d'une pile, et une fonctio
si quelqu'un ne m'aide pas, je vais peter un plomb [ par sebos2013 ]
Salut a tous,a chaque fois que j'essai de creer le .exe de mon prog, les erreurs suivantes apparaissent:Deleting intermediate files and output files f
pb avec ADO [ par Frederyck ]
Voilà g un pb, j'utilise dans mon appli une bdd Access 97 via ADO et donc g inclut la commande:#import "C:\Program Files\Fichiers communs\System\ado\m
debug vs release [ par coockiesch ]
Hello!J'aimerais savoir les différences entre la compilation release et la compilation debug...Quels sont leurs avantages et leurs inconvéniants.Merci
Debugage assembleur [ par crocejf2000 ]
Salut,Qq'un pourrai il peut etre m'aider, j'ai une méchante érreur et jmy connais pas trop en assembleur, Borland c++ 5 me renvoi ceci : Il s'arrete a
Problème de compilation [ par lbs ]
Bonsoir,J'ai téléchargé les sources d'eMule (version officielle et version lsd). Je compile le tout et ca me met le message d'erreur suivant :------ D
debug avec visual c++ [ par sk8reno ]
bonjour, je voudrais savoir comment debuguer avec visual c++. il me met un message d'erreur "devenv.exe introuvable" . merci d'avancereno
Debug & Release [ par hilairenicolas ]
Bonjour à tous,j'ai un probleme étrange. Je developpe un .ocx qui n'a pas le meme comportement quand je le compile en mode debug ou en mode release. E
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|