📄 yolinux tutorial - software development on linux.mht
字号:
<TD><A=20
=
href=3D"http://www.togethersoft.com/">Togethersoft</A><BR>(Recently=20
purchased by Borland)</TD>
<TD>Full IDE. Cross platform. Code and UML development in =
one IDE.=20
JAVA, C++, IDL, ...</TD></TR>
<TR>
<TD>Metrowerks: <A=20
href=3D"http://www.metrowerks.com/">CodeWarrior</A></TD>
<TD>Code navigation, compile and compare (cross platform), =
GNU C++=20
and JAVA</TD></TR>
<TR>
<TD><A href=3D"http://www.borland.com/">Borland: C++ Builder =
5</A></TD>
<TD>Full IDE. Cross platform desktop apps. </TD></TR>
<TR>
<TD><A href=3D"http://www.borland.com/kylix/">Borland: =
Kylix</A></TD>
<TD>Rapid Application Development (RAD) environment. Develop =
for=20
Apache, Databases (Oracle, DB2, Interbase and MySQL), =
Cross=20
platform desktop apps. Visual Basic like Language: CLX =
(Delphi=20
compatable)</TD></TR>
<TR>
<TD><A href=3D"http://www.trolltech.com/">TrollTech: =
Qt</A></TD>
<TD>Cross platform and multi-language application =
development=20
framework for C++</TD></TR>
<TR>
<TD>New Planet Software: <A=20
href=3D"http://www.newplanetsoftware.com/medic/">Code =
Medic</A></TD>
<TD>Works with <A=20
href=3D"http://www.newplanetsoftware.com/jcc/">Code =
Crusader</A>=20
(strong C++) development environment and JX (X-window C++=20
application framework).</TD></TR>
<TR>
<TD><A href=3D"http://www.codeforge.com/">C-Forge</A></TD>
<TD>Project management and complete edit/compile/debug cycle =
support. Supports CVS, SCCS, RCS, ETAGS, C/C++ and =
FORTRAN, Querix=20
4gl and eRuby, Qt Designer, WxWindows and your wheel =
mouse.</TD></TR>
<TR>
<TD><A href=3D"http://www.viosoft.com/">Arriba</A></TD>
<TD>Embedded Software IDE. MS/Visual C++ like IDE for =
Linux.</TD></TR>
<TR>
<TD>WindRiver: <A=20
=
href=3D"http://www.windriver.com/products/html/sniff.html">SNiF+</A></TD>=
<TD>C, C++, Java, or ADA. Unix or Windows</TD></TR>
<TR>
<TD>Aligo: <A href=3D"http://www.aligo.com/">Omni Mobile=20
Platform</A></TD>
<TD>Mobile Java development (Cell phones/PDA's)</TD></TR>
<TR>
<TD><A href=3D"http://www.thekompany.com/products/ksg/">KDE =
Studio=20
"Gold"</A></TD>
<TD>C++ KDE IDE (Commercial Open =
Source)</TD></TR></TBODY></TABLE><BR><A=20
href=3D"http://www.newplanetsoftware.com/jcc/compare.php">New =
Planet=20
Software product comparison of IDE's.</A>=20
<P></P></LI></UL><A name=3DMEMORYTOOLS></A>
<P>
<HR>
<TABLE cellSpacing=3D0 cellPadding=3D2 width=3D"100%" border=3D0>
<TBODY>
<TR bgColor=3D#ffcc33>
<TD><B><BIG>Memory Debugging Development=20
Tools:</BIG></B></TD></TR></TBODY></TABLE>
<UL>
<LI><B>Memory Debugging:</B>=20
<TABLE cellSpacing=3D2 cellPadding=3D2 border=3D1>
<TBODY>
<TR>
<TD><A=20
=
href=3D"http://www.inf.ethz.ch/personal/biere/projects/ccmalloc/">ccmallo=
c</A></TD>
<TD>ETH Zurich: C/C++, Checks for illegal memory access and =
leaks.=20
Cannot detect illegal memory reads. </TD></TR>
<TR>
<TD><A =
href=3D"http://www.gnu.org/software/checker/checker.html">GNU=20
Checker</A></TD>
<TD>Warns of using uninitialized variable or memory or =
unallocated=20
memory. </TD></TR>
<TR>
<TD><A=20
=
href=3D"http://dickey.his.com/dbmalloc/dbmalloc.html">dbmalloc</A></TD>
<TD>C malloc, memory, string, and bstring </TD></TR>
<TR>
<TD><A=20
=
href=3D"http://www.cs.bris.ac.uk/~mm7323/DbMalloc/">DbMalloc</A></TD>
<TD>Another dbmalloc. Leak detector, multi-threaded. C =
malloc,=20
calloc, realloc, strdup and free</TD></TR>
<TR>
<TD><A=20
href=3D"http://quorum.tamu.edu/jon/gnu/"><B>debauch</B></A></TD>
<TD>Modified from XFree86 memleak. Detects leaks, corrupted=20
memory. To be used with GDB.</TD></TR>
<TR>
<TD><A href=3D"http://dmalloc.com/">dmalloc</A></TD>
<TD>C malloc, realloc, calloc, free. Memory-leak tracking,=20
fence-post write detection, file/line number reporting =
</TD></TR>
<TR>
<TD><A =
href=3D"http://www.perens.com/FreeSoftware/"><B>Electric=20
Fence</B></A></TD>
<TD>malloc() debugger. Stops program on the instruction that =
overruns or under-runs a malloc buffer. </TD></TR>
<TR>
<TD><A=20
=
href=3D"http://packages.debian.org/unstable/devel/fda.html">fda</A></TD>
<TD>FDA provides a toolkit for validating pointers, checking =
for=20
leaks, gathering memory statistics, bounds checking... =
</TD></TR>
<TR>
<TD><A=20
=
href=3D"http://sources.isc.org/devel/memleak/leak.txt">leak</A></TD>
<TD>Logs all malloc/realloc/free calls to dbm files with =
filename=20
and line number. Realloc integrity. </TD></TR>
<TR>
<TD><A href=3D"http://www.andreasen.org/LeakTracer/">Leak=20
Tracer</A></TD>
<TD>C++ program for checking memory leaks. </TD></TR>
<TR>
<TD><A =
href=3D"http://libcw.sourceforge.net/debugging/">libcw</A></TD>
<TD>Full-featured debugging support library for C++ =
developers.=20
</TD></TR>
<TR>
<TD><A=20
=
href=3D"http://www.avayalabs.com/project/libsafe/index.html"><B>libsafe</=
B></A></TD>
<TD>Detect and handle buffer overflow and format string=20
vulnerabilities before the hackers do. (Middleware =
software, not=20
compiled in)</TD></TR>
<TR>
<TD><A=20
=
href=3D"http://www.cs.vu.nl/~rveldema/mcheck/mcheck.html">MCheck</A></TD>=
<TD>C/C++ memory usage and malloc checker for x86/linux. =
Detects=20
accesses to uninitialized variables, bad pointers, double =
frees=20
and memory leaks. </TD></TR>
<TR>
<TD vAlign=3Dtop><A =
href=3D"http://valgrind.kde.org/"><B>Valgrind=20
MemCheck</B></A></TD>
<TD vAlign=3Dtop>Part of the KDE <B>Valgrind</B> toolset. =
C/C++=20
memory supervision. Intercepts malloc/new/free/delete. =
Detects=20
memory leaks, uninitialised memory, inappropriate =
read/write of=20
stack and malloc'ed blocks, some pthread errors. <A=20
=
href=3D"http://www.ibiblio.org/pub/Linux/docs/HOWTO/other-formats/html_si=
ngle/Valgrind-HOWTO.html">Valgrind=20
HOWTO</A><BR>This tool is often rated the best Open Source =
memory=20
debugging tools.</TD></TR>
<TR>
<TD><A=20
=
href=3D"ftp://ftp.x.org/pub/R6.4/xc/util/memleak/">Memleak</A></TD>
<TD>Part or X11R6.4 </TD></TR>
<TR>
<TD><A =
href=3D"http://bss.lu/Memdebug/Memdebug.html">Memdebug</A></TD>
<TD><BR></TD></TR>
<TR>
<TD><A=20
=
href=3D"http://people.redhat.com/otaylor/memprof/"><B>MemProf</B></A></TD=
>
<TD>Red Hat GUI (Gtk/Gnome) tool for profiling and leak =
detection.=20
Preloads it's own runtime library. Supports threaded and =
forked=20
programs.</TD></TR>
<TR>
<TD><A =
href=3D"http://www.engelschall.com/sw/mm/">MM</A></TD>
<TD>Shared memory abstraction layer library.</TD></TR>
<TR>
<TD><A=20
=
href=3D"http://www.cbmamiga.demon.co.uk/mpatrol/">mpatrol</A></TD>
<TD>Profile and log/trace malloc/free/new[]</TD></TR>
<TR>
<TD><A =
href=3D"http://freshmeat.net/projects/mpr/">mpr</A></TD>
<TD>Log malloc/free calls</TD></TR>
<TR>
<TD><A =
href=3D"http://fscked.org/proj/njamd.shtml">NJAMD</A></TD>
<TD>Replaces malloc. Looks for overflows,underflows, writes =
to=20
freed memory, leaks. C/C++, thread safe.</TD></TR>
<TR>
<TD><A=20
=
href=3D"http://www.geocities.com/ipsgvm/libyama/index.html">YaMa</A></TD>=
<TD>Memory allocator with leak tracking and some anti-heap=20
corruption facilities. malloc, calloc, realloc and =
free.</TD></TR>
<TR>
<TD><A =
href=3D"http://www3.hmc.edu/~neldredge/yamd/">YAMD</A></TD>
<TD>Yet Another Malloc Debugger: C/C++ </TD></TR>
<TR>
<TD><A =
href=3D"http://web.inter.nl.net/hcc/Haj.Ten.Brugge/">gcc w/=20
bounds checking</A></TD>
<TD>GCC bounds checking compiler patch. Adds the=20
<TT>-fbounds-checking</TT> flag to gcc. </TD></TR>
<TR>
<TD><A href=3D"http://www.cacheprof.org/">Cacheprof</A></TD>
<TD>Profile/investigate cache effects in x86 programs. =
<BR>Works=20
with gcc compiler: <TT>cacheprof gcc -O -o myprog =
myprog.c</TT>.=20
</TD></TR></TBODY></TABLE>
<P></P>
<LI><B>Commercial Memory debugging tools:</B>=20
<TABLE cellSpacing=3D2 cellPadding=3D2 border=3D1>
<TBODY>
<TR>
<TD><A href=3D"http://www.aprobe.com/">Aprobe</A></TD>
<TD>Memory and performance audits.</TD></TR>
<TR>
<TD><A href=3D"http://www.etnus.com/">Etnus</A> =
TotalView</TD>
<TD>Memory leak detection including threaded =
software.</TD></TR>
<TR>
<TD><A =
href=3D"http://www.parasoft.com/products/insure/">Parasoft:=20
Insure++</A></TD>
<TD>Memory corruption and memory leak error detection.=20
C/C++</TD></TR></TBODY></TABLE>
<P></P>
<LI><B>Parasoft Insure++ Notes/Example:</B>=20
<DL>
<DD><B>Configure Insure++:</B>=20
<OL>
<LI>Add to path in <TT>.bash_profile</TT>:=20
<TT>/opt/parasoft/Insure++/bin.linux2/cpp/</TT>=20
<LI>turn on graphical interface: <BR>Add to the file=20
<TT>/opt/parasoft/Insure++/.psrc</TT>=20
<DL>
<DD>
<TABLE>
<TBODY>
<TR bgColor=3D#c0c0c0>
<TD><PRE>Insure++.inuse on=20
=
</PRE></TD></TR></TBODY></TABLE></DD></DL></LI></OL><B>Compile/run:</B>=20
<OL>
<LI>Test with example: <TT>cd=20
/opt/parasoft/Insure++/examples/cpp/</TT>=20
<LI>Compile: <TT>insure -g -o leak leak.C</TT>=20
<LI>Run: <TT>./leak</TT> </LI></OL><BR><B>Output from =
run:</B>=20
<TABLE width=3D"100%">
<TBODY>
<TR>
<TD vAlign=3Dtop><IMG=20
=
src=3D"http://www.yolinux.com/TUTORIALS/images/insureRunLeak.gif"></TD></=
TR>
<TR>
<TD vAlign=3Dtop><IMG=20
=
src=3D"http://www.yolinux.com/TUTORIALS/images/insureRunLeakMemoryReport.=
gif"=20
align=3Dright></TD></TR></TBODY></TABLE></DD></DL>
<P></P>
<LI><B>Alternate memory functions:</B>=20
<TABLE cellSpacing=3D2 cellPadding=3D2 border=3D1>
<TBODY>
<TR>
<TD><A =
href=3D"http://www.hpl.hp.com/personal/Hans_Boehm/gc/">Boem=20
Garbage Collector</A></TD>
<TD>A garbage collector for C and C++. Replaces =
malloc/new</TD></TR>
<TR>
<TD><A=20
=
href=3D"ftp://ftp.cs.toronto.edu/pub/moraes/malloc.tar.gz">CSRI</A></TD>
<TD>(tar download)</TD></TR>
<TR>
<TD><A=20
=
href=3D"ftp://ftp.cs.colorado.edu/pub/misc/malloc-implementations/">GNU=20
Malloc</A></TD>
<TD>(tar download)</TD></TR>
<TR>
<TD><A=20
=
href=3D"http://www.cs.utexas.edu/users/emery/hoard/">Hoard</A></TD>
<TD>Memory allocator for multiprocessors. Improves =
multithreaded=20
program performance on multiprocessor systems.</TD></TR>
<TR>
<TD><A href=3D"http://www.malloc.de/en/index.html">Ptmalloc =
(GNU C=20
library)</A></TD>
<TD>Malloc extended for SMP</TD></TR>
<TR>
<TD><A =
href=3D"ftp://ftp.cs.colorado.edu/pub/misc/qf.c">Quick Fix=20
Malloc</A></TD>
<TD>qf.c: Optimized for low memory use and optimal=20
allignment.</TD></TR>
<TR>
<TD><A =
href=3D"http://www.research.att.com/sw/download/">vmalloc=20
(Part of ast)</A></TD>
<TD>AT&T Labs </TD></TR></TBODY></TABLE></LI></UL>
<P><A name=3DDESIGN></A>
<HR>
<TABLE cellSpacing=3D0 cellPadding=3D2 width=3D"100%" border=3D0>
<TBODY>
<TR bgColor=3D#ffcc33>
<TD><B><BIG>Software =
Design:</BIG></B></TD></TR></TBODY></TABLE>
<P>
<UL>
<LI><A href=3D"http://argouml.tigris.org/">Argo</A> - GUI UML =
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -