About: Debugging   Sponge Permalink

An Entity of Type : owl:Thing, within Data Space : 134.155.108.49:8890 associated with source dataset(s)

One of the things you should learn when working with the Delphi IDE is debugging an application. Along the way you will soon enough stumble upon bugs which needs debugging. You might already have thought of an alternative way to find out where that pesky bug is at and squash it. Using showmessage presenting the data you suspect is causing errors might help you with the simple bugs, but over time your applications will get more and more complex and showmessage will not be sufficient enough for tracing down your program errors. This is where Delphi's debugging tools come in.

AttributesValues
rdfs:label
  • Debugging
rdfs:comment
  • One of the things you should learn when working with the Delphi IDE is debugging an application. Along the way you will soon enough stumble upon bugs which needs debugging. You might already have thought of an alternative way to find out where that pesky bug is at and squash it. Using showmessage presenting the data you suspect is causing errors might help you with the simple bugs, but over time your applications will get more and more complex and showmessage will not be sufficient enough for tracing down your program errors. This is where Delphi's debugging tools come in.
  • Debugging is the act of checking and testing your code for errors. It is often the most important step and should be preformed regularly.
  • Examples of hidden debug features and tools include Super Smash Bros. Melee's debug menu; Halo 3's Pan Cam; a crash debugger in The Legend of Zelda: Ocarina of Time; and a partially-translated graphics debugging menu left in Pokemon Gold and Silver.
  • It is very helpful in finding out memory corruption bugs as soon as possible so while developing codes or just when running a server it is good that you use some memory corruption run-time debuggers. I don't know about Win32 users but on Unix/Linux there are some good options. * valgrind () After you have compiled and installed valgrind (it's easy, ./configure, make, make install) you will use it by running PvPGN like this: $ valgrind --tool=memcheck --num-callers=10 /path/to/bnetd -f 2> valg.out
sameAs
dcterms:subject
dbkwik:delphi/prop...iPageUsesTemplate
dbkwik:glitches/pr...iPageUsesTemplate
abstract
  • One of the things you should learn when working with the Delphi IDE is debugging an application. Along the way you will soon enough stumble upon bugs which needs debugging. You might already have thought of an alternative way to find out where that pesky bug is at and squash it. Using showmessage presenting the data you suspect is causing errors might help you with the simple bugs, but over time your applications will get more and more complex and showmessage will not be sufficient enough for tracing down your program errors. This is where Delphi's debugging tools come in.
  • Debugging is the act of checking and testing your code for errors. It is often the most important step and should be preformed regularly.
  • Examples of hidden debug features and tools include Super Smash Bros. Melee's debug menu; Halo 3's Pan Cam; a crash debugger in The Legend of Zelda: Ocarina of Time; and a partially-translated graphics debugging menu left in Pokemon Gold and Silver.
  • It is very helpful in finding out memory corruption bugs as soon as possible so while developing codes or just when running a server it is good that you use some memory corruption run-time debuggers. I don't know about Win32 users but on Unix/Linux there are some good options. * valgrind () Valgrind is not very portable (only x86, Linux and very recently FreeBSD), also it slows down the debugged codes (it acts like a CPU emulator so it has to do that) but I have yet to find out a better debugging tool for what he does. Valgrind is so cool that recently many OSS projects use it for finding out bugs in their codes. For more information you can check out their web page. I will focus on valgrind with PvPGN. After you have compiled and installed valgrind (it's easy, ./configure, make, make install) you will use it by running PvPGN like this: $ valgrind --tool=memcheck --num-callers=10 /path/to/bnetd -f 2> valg.out "num-callers" makes valgrind record backtraces with 10 entries and is usually needed with PvPGN which has not very small backtrace path :) Another option you might want to use is "--leak-check=yes" and probably "--leak-resolution=high". This options make valgrind even slower but they will give memory leak information when PvPGN exits. I encourage EVERYONE to use it if available (that is if you run PvPGN on a supported platform). Only very big servers won't be able to do it because there is no hardware powerful enough to run a big server with valgrind (but big means over 500 users online). You should test it with your server and if it does not make your bnetd go over 90% CPU then you should be fine. If you cannot run valgrind for any reason or if you are hunting for some bugs valgrind cannot find (yes, valgrind is superb but there is a class of bugs, especially overflows which valgrind can't help you with) you should then try the next debugging tool.
Alternative Linked Data Views: ODE     Raw Data in: CXML | CSV | RDF ( N-Triples N3/Turtle JSON XML ) | OData ( Atom JSON ) | Microdata ( JSON HTML) | JSON-LD    About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 07.20.3217, on Linux (x86_64-pc-linux-gnu), Standard Edition
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2012 OpenLink Software