Hauptseminar Softwaretechnik. Profiler unter Linux

Größe: px
Ab Seite anzeigen:

Download "Hauptseminar Softwaretechnik. Profiler unter Linux"

Transkript

1 Hauptseminar Softwaretechnik Profiler unter Linux Daniel Zinn 17. Januar 2004

2 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung Laufzeitbestimmung einzelner Module Laufzeit selbst messen Bibliotheks- und Systemaufrufe beobachten Alle Funktionsaufrufe beobachten Jede Zeile des Quelltextes analysieren Ein simulierter Prozessor Das gesamte System beobachten Das Speichermanagement Kommerzielle Tools Zusammenfassung Abbildungsverzeichnis 1 Ausgaben des time-befehls Quelltext des Beispiel-Programmes main ltrace analysiert main GProf call graph für main KProf: Hierarchische Darstellung von xdigger KProf: Aufrufgraph von xdigger (Ausschnitt) GCov: ergänzter Quelltext von main KCachegrind mit Quelltextbrowser und flachem Profil (xdigger) KCachegrind zeigt den Aufrufgraphen der main Funktion (xdigger) OProfile gibt Auskunft über xdigger MemProf analysiert das Programm main Valgrind analysiert das Programm main Valgrind deckt einen Speicherfehler auf Alleyoop analysiert das Programm main Valgui bei der Analyse von Speicherfehlern Profiler unter Linux

3 1 Einleitung 1 Einleitung Ein oft wichtiges Ziel in der Softwareentwicklung ist es, schnelle Produkte zu entwickeln. Die Wahl von schnellen Algorithmen spielt dabei eine große Rolle - leider sind sehr effiziente Algorithmen in der Regel sehr komplex. Im Gegensatz dazu ist man aber bestrebt die Komplexität einer Software so gering wie möglich zu halten. Der Grund hierfür sind einmal die meist höheren Entwicklungskosten und -zeiten, sowie ein erhöhter Aufwand in der Wartung. Darüberhinaus ist es umso schwieriger Korrektheit nachzuweisen je umfangreicher das Softwareprodukt ist. Obwohl moderne Programmiertechniken (Kapselung, Objektorientiertheit) es erlauben sehr komplexe Algorithmen als schon verifizierte Einheiten in das eigene Programm einzubauen, so bleibt das oben geschilderte Problem jedoch auf höherer Ebene erhalten. Oft ist es jedoch gar nicht nötig an allen Stellen des Programmes effizienteste Algorithmen einzusetzen. Der Grund hierfür ist, dass in den meisten Programmen ein großer Teil der Rechenzeit in nur wenigen Modulen verbraucht wird. So ist es möglich durch deren Optimierung die Software ausreichend zu beschleunigen. Mit Hilfe von sogenannten Profilern können zeitliche Messungen an Programmen und Modulen vorgenommen werden. Mit Ihnen kann man herausfinden, bei welchen Modulen sich Optimierungen lohnen. Profiler existieren für zahlreiche Betriebssysteme und für nochmehr Programmiersprachen: für Amiga, Windows, Linux - für.net, PHP, perl, Java und natürlich für C/C++. Profiler können weitaus mehr als nur herausfinden welche Module wieviel Zeit verbrauchen. Am Beispiel der C/C++ Programmierung unter Linux geben die folgenden Kapitel einen Überblick über grundlegende Profilingtechniken. Dies geschieht an Hand grundlegender Tools, welche unter der GNU Public License [3] frei zur Verfügung stehen. Der folgende Text ist also sowohl eine kurze Einführung zum Thema,,Profiling, als auch eine kleine Auflistung verfügbarer Tools für das Linux Betriebssystem zum Untersuchen von in C/C++ geschriebenen Programmen. Was sind Profiler? Wie schon in der Einleitung erwähnt dienen Profiler in erster Linie der Optimierung von Programmen. Profiler können folgende Fragen beantworten: Welche Module werden wirklich benötigt? Welche Anweisungen werden abgearbeitet? Wie oft werden die Anweisungen abgearbeitet? Welche Module verbrauchen die meiste Rechenzeit? In welchen Abschnitten wird die meiste Rechenzeit verbraucht? 3

4 2 Laufzeitbestimmung einzelner Module Darüberhinaus können Profiler das Speichermanagement analysieren und enthaltene Fehler aufzeigen. 2 Laufzeitbestimmung einzelner Module Theoretische Betrachtungen Natürlich ist es möglich die Laufzeiten durch theoretische Betrachtungen abzuschätzen. Bei vielen Basisalgorithmen sind solche Ergebnisse wohlbekannt und erleichtern die Auswahl der jeweiligen Algorithmen. Theoretisches Analysieren soll hier nicht das Thema sein, sondern wurde nur der Vollständigkeit halber erwähnt. 2.1 Laufzeit selbst messen Die wohl einfachste Möglichkeit ist eine Stoppuhr zu benutzen. Dies ist allerdings bei sehr kurzen (< 1 sec) oder langen Programmelaufzeiten (im Stundenbereich) sehr mühsam. Die,,eingebaute Stoppuhr von Linux ist das Kommando time: Wird ein Befehl mit vorangestelltem time gestartet, erhält man nach Programmende Informationen zur Laufzeit des Befehls. Abb. 1 zeigt Beispiele für die Ausgabe des time-befehls. (a) Main (b) Sleep Abbildung 1: Ausgaben des time-befehls Neben der Gesamtlaufzeit (real), wird auch die aktive Bearbeitungszeit im Nutzeradressraum (user) und die Zeit aufgelistet, die von Systemroutinen zur Abarbeitung benötigt wurde (system). Mehr Informationen kann man der Linux man page von time[4] entnehmen. Handelt es sich um selbst geschriebene Programme, so kann man die Funktion clock() benutzen; aus der Differenz eines Aufrufes vor und nach dem zu messenden Programmstück ist die vom Programm benötigte Zeit berechenbar. Weiterhin stellt Linux für jeden Prozeß noch drei Timer zur Verfügung: TIMER REAL Läuft in Echtzeit. ITIMER VIRTUAL Läuft nur, wenn der Prozeß selbst ausgeführt wird. 4 Profiler unter Linux

5 2.2 Bibliotheks- und Systemaufrufe beobachten ITIMER PROF Läuft wenn der Prozeß selbst ausgeführt wird, oder wenn das Betriebssystem im Auftrag des Prozesses handelt. Unter Zuhilfenahme der Systemfunktionen getitimer() und setitimer() können die oben genannten Timer genutzt werden, um Laufzeiten eigener Programmmodule zu ermitteln. Mehr Informationen sind unter der Linux man page für getitimer() [6] zu finden. 2.2 Bibliotheks- und Systemaufrufe beobachten In vielen Programmen wird von externen Bibliotheken reger Gebrauch gemacht. Oft wird sogar die Hauptarbeit von externen Bibliotheken oder dem Betriebssystem selbst erledigt. Mit Hilfe von ltrace[7] und strace[8] können alle Aufrufe in Bibliotheken bzw. in den Kernel selbst beobachtet werden. Auch bei diesen Kommandos sind keine besonderen Vorkehrungen nötig: Wie bei time wird der,,inspektionsprozess gestartet, indem man dem eigentlichen Befehl l- bzw. strace voranstellt. Mit der Option -c werden die Aufrufe gezählt und deren Bearbeitungszeiten addiert - die Ausgabe geschieht dann am Programmende. Dies ist am Beispiel eines kleinen Demonstrationsprogrammes - main - veranschaulicht. Abb. 2 zeigt den Quelltext, während Abb. 3 die Ausgabe von ltrace -cs main darstellt; bemerkenswert ist, dass sich durch die Messung die Ausführzeit des Programm von 0, 01 Sekunden auf 5 Sekunden erhöht hat. Was in der Physik gilt, trifft also auch hier zu - je genauer die Messergebnisse werden, desto stärker verfälschen sie den zu messenden Prozess. Dies macht sich gerade bei vielen kleinen Aufrufen bemerkbar: Bei mehrmaligem Ausführen des ltrace Profilings variieren die für sin, random, new und delete gemessenen Ausführungszeiten stark. Dennoch kann das Wissen über die Anzahl von Aufrufen bestimmter Routinen sehr hilfreich sein und Rückschlüsse auf das Laufzeitverhalten zulassen. 2.3 Alle Funktionsaufrufe beobachten Während mit s- und ltrace Funktionsaufrufe in Bibliotheken und Kernel beobachtet werden können, gibt es auch zahlreiche Möglichkeiten am eigenen Quelltext zu messen. Im GCC sind Mechanismen eingebaut, um Profiling zu ermöglichen: Wird beim Kompilieren und Linken die Option -pg angegeben, schreibt das fertige Programm während der Laufzeit statistische Daten in die Datei gmon.out. Sie kann mit Hilfe des GNU Profiler (GProf) analysiert werden 1. Gesammelte statistische Daten können auf drei verschiedene Weisen ausgegeben werden: flat profile zeigt, wieviel Zeit das Programm in welcher Funktion verbracht hat und wie oft diese Funktion aufgerufen wurde. call graph listet für jede Funktion auf, von wem sie wie oft aufgerufen wurde; weiterhin schätzt GProf hier ab, wieviel Zeit in den Subroutinen verbraucht wurde. Abb. 4 zeigt den Call Graph für das Programm main. 1 mit GProf können nur Programme untersucht werden, die mit dem GCC kompiliert wurden 5

6 2.3 Alle Funktionsaufrufe beobachten Abbildung 2: Quelltext des Beispiel-Programmes main Abbildung 3: ltrace analysiert main 6 Profiler unter Linux

7 2.3 Alle Funktionsaufrufe beobachten annotated source listing ist eine Kopie des Quelltextes, ergänzt durch die Anzahl der Aufrufe der jeweiligen Funktionen. Abbildung 4: GProf call graph für main Wie für viele Kommandozeilentools existiert auch für GProf ein graphisches Frontend - KProf. KProf bietet vier Sichten auf die statistischen Daten an: Die von GProf textuell ausgegebenen Informationen werden in den Registern für das flache und hierarchische Profil dargestellt. Natürlich kann man sämtliche Einträge nach Belieben sortieren - z.b. nach Anzahl der Aufrufe. Im Kontextmenü zu den jeweiligen Funktionen erscheinen Verweise auf Aufrufer und aufgerufene Funktionen. Neben diesen beiden klassischen Anordnungen können die Funktionen auch nach der Objekthierarchie innerhalb des Programmes sortiert werden. Darüber hinaus kann KProf die Aufrufhierarchie selbst grafisch darstellen - oder als Datei in den Graphen-Formaten für VCG bzw. GraphViz abspeichern. Eine genauere Beschreibung, was mit diesen Formaten alles möglich ist, würde den Rahmen hier sprengen; Eine kleine Analyse des Programmes xdigger mit KProf zusammen mit einem Auschnitt des Aufrufgraphen zeigen Abb. 5 und Abb. 6. Im Register Method View ist eine detaillierte Beschreibung der einzelnen Methoden verfügbar: die Navigation zu aufgerufenen und aufrufenden Funktionen ist aufgrund der guten Verlinkung sehr angenehm. 7

8 2.3 Alle Funktionsaufrufe beobachten Abbildung 5: KProf: Hierarchische Darstellung von xdigger Abbildung 6: KProf: Aufrufgraph von xdigger (Ausschnitt) 8 Profiler unter Linux

9 2.4 Jede Zeile des Quelltextes analysieren 2.4 Jede Zeile des Quelltextes analysieren Im Gegensatz zu GProf, welches das Programm auf der Basis von Funktionsaufrufen analysiert, bietet GCov Informationen über jede Zeile des Quelltextes. Wie bei GProf, ist es nötig das zu inspizierende Programm mit speziellen Optionen zu übersetzen 2. Die zu benutzenden Optionen sind -fprofile-arcs und -ftest-coverage. Während das ausführbare Programm erzeugt wird, werden Dateien mit den Endungen bb und bbg angelegt. Diese enthalten,,im Wesentlichen einen Flußgraphen des Programms, welcher zur Ausführung benötigt wird. Die eigentlichen statistischen Daten werden in.da Dateien erzeugt, und bei mehrmaliger Ausführung aufsummiert. So können Daten über verschiedene Testfälle hinweg akkumuliert werden, was in Bezug auf Anweisungsüberdeckungstests sehr hilfreich ist. Weiterhin können so Informationen über einen langen Zeitraum gesammelt werden, um das Durschnittsverhalten der Software besser einschätzen zu können. Der Befehl GCov erzeugt aus den statistischen Daten kommentierte Quelltexte: vor jeder Codezeile steht, wie oft diese ausgeführt wurde. Durch entsprechende Parameter ist es auch möglich, sich für alle Verzweigungen im Programm die Wahrscheinlichkeiten für jeden Zweig anzeigen zu lassen. Abb. 7 zeigt den mit Befehlshäufigkeiten ergänzten Quelltext von main. Abbildung 7: GCov: ergänzter Quelltext von main 2.5 Ein simulierter Prozessor Bei den meisten bisher vorgestellten Profilingtechniken ist es nötig, sein Programm mit speziellen Kompileroptionen zu übersetzen. Ein anderes Profilingtool, Valgrind, geht einen anderen Weg: anstatt zusätzlichen Code in die Programme einzubauen, simuliert Valgrind einen kompletten Prozessor mit Speicher. Die Valgrind-Suite ist modular aufgebaut - zu dem Core, der die Emulation des Prozessors übernimmt, können verschiedene 2 mit GCov können nur Programme untersucht werden, die mit dem GCC kompiliert wurden 9

10 2.6 Das gesamte System beobachten,,skins benutzt werden. Die wichtigsten Skins sind Cachegrind, Calltree und Memcheck: Cachegrind Cachegrind ist ein Cache Profiler, d.h. dieser Skin simuliert zusätzlich zum Programmkern von Valgrind die I1, D1 and L2 Caches. Er kann so Cache Misses, Speicherzugriffe und Instruktionen des Programmes basierend auf Quelltextzeile, Funktion oder auch global für das gesamte Programm darstellen. Cachegrind findet vor dem Start die Konfiguration der aktuellen CPU heraus und kann so sein Prozessormodell auf den momentanen PC anpassen. Calltree Calltree erweitert den Cachegrind Skin um Informationen, welche Funktionen welche anderen aufgerufen haben. Somit sind mit Calltree neben den flachen Profilen der Funktionen auch hierarchische Darstellungen möglich. Mit Hilfe des KDE Programmes KCachegrind können die mit Calltree gesammelten Informationen in einem graphischen Nutzerinterface sehr benutzerfreundlich analysiert werden. Es existiert die Möglickeit alle Funktionen nach Anzahl der Instruktionen, nach lesendem bzw. schreibendem Zugriff sowie nach der Anzahl der Cache Verfehlungen für L1 und L2 Cache zu sortieren. Natürlich kann man auch nach der Anzahl der Funktionsaufrufe selbst sortieren. Sehr gut gelungen ist meiner Meinung nach auch der Quelltextbrowser (siehe Abb. 8). Bereichert durch Profilinginformationen kann man durch die gute Verlinkung gut navigieren. Am beeindruckendsten fand ich die graphische Visualisierung der Aufrufhierarchie, welche durch Kontextmenüs vielfältig angepasst werden kann: Abb. 9 zeigt den Aufrufgraphen der main Funktion des Programmes xdigger. Die relative Größenverteilung entspricht den Anzahl der CPU Instruktionen 3, welche von den Funktionen benötigt wurde. Memcheck Dieser Skin ist für Speicher Profiling nützlich, und wird deshalb in Abschnitt 3 näher beschrieben. Die Abarbeitungszeit des Programms verlangsamt sich laut Dokumentation [12] etwa um den Faktor 50 - dies beeinflußt aber wegen der Simulation des Programmes nicht die statistischen Ergebnisse. 2.6 Das gesamte System beobachten Will man neben dem eigenen Programm auch das gesamte System unter die Lupe nehmen, bietet sich OProfile an. OProfile ist ein systemweiter Profiler für Linux Systeme. 3 oder einem der anderen Aspekte, nach denen sortiert werden kann 10 Profiler unter Linux

11 2.6 Das gesamte System beobachten Abbildung 8: KCachegrind mit Quelltextbrowser und flachem Profil (xdigger) Abbildung 9: KCachegrind zeigt den Aufrufgraphen der main Funktion (xdigger) 11

12 3 Das Speichermanagement Er nutzt die internen Counter moderner CPUs, um Profiling Daten zu sammeln 4. Er kann mit wenig Overhead Hardware und Software, Interrupthandler, Kernel Module, den Kernel selbst, Shared Libraries und Anwendungen untersuchen. OProfile besteht aus einem Kernel Modul, einem Daemon, der die Daten sammelt, und verschiedenen Werkzeugen zum Auswerten der gesammelten Daten. Neben einer Auflistung aller Prozesse und Libraries (nach Laufzeit sortiert), kann man sich auch innerhalb eines beliebigen Programmes die Funktionen nach Laufzeit sortiert anzeigen lassen 5. Abb. 10 zeigt die Ausgabe, wenn man über xdigger Auskunft haben möchte. Abbildung 10: OProfile gibt Auskunft über xdigger OProfile gehört nicht zu den Standard Paketen der Debian Linux Distribution 6, und muß deshalb selbst kompiliert werden, was aber durch den autoconf-mechanismus mittels./configure und make ohne Probleme durchführbar ist 7. 3 Das Speichermanagement Profiler sind auch in der Lage Fehler beim Speichermanagement aufzudecken. Im Gegensatz zu den Maßnahmen im ersten Kapitel, welche sich vorrangig um Geschwindigkeitsoptimierung kümmern, möchte ich nun Programme vorstellen, die helfen echte Programmierfehler aufzudecken. Fehler bei der Speicherbenutzung können zu sogenannten,,segmentation Faults führen 8. Dies ist der Fall, wenn ein Prozess versucht auf Speicherbereiche zuzugreifen, die nicht für ihn reserviert wurden. Moderne CPUs überprüfen bei 4 Aus diesem Grund darf der,,enhanced Real Time Clock Support nicht im Kernel aktiviert sein oder als Modul (rtc) geladen worden sein, wenn man OProfile benutzen will. 5 Natürlich kann auch OProfile nur dann Funktionennamen auflösen, wenn die zugehörigen Binaries Debuginformationen enthalten, also mit -g kompiliert wurden. 6 auch nicht im sid Zweig, Stand In der 2.6er Serie des Linux Kernels ist OProfile schon integriert; das Kernel Modul kann so einfach hinzugeladen werden. 8 oder Bluescreens in Windows-verwandten Betriebssystemen 12 Profiler unter Linux

13 3 Das Speichermanagement jedem Zugriff auf den Speicher, ob der angeforderte Bereich dem jeweiligen Prozeß zugeordnet ist. Dies schützt Programme gegenseitig,,voreinander. Weitere,,Speicher-Fehler bei der Programmierung sind zum Beispiel: Benutzen von nichtinitialisierten Speicherbereichen Lesen oder Schreiben von Speicher, nachdem dieser freigegeben wurde Lesen oder Schreiben über die Grenzen eines mit malloc reservierten Bereiches hinweg Lesen und Beschreiben von falschen Bereichen auf dem Stack Sogenannte,,Memory Leaks - wenn alle Zeiger auf dynamischen Speicherplatz gelöscht werden Falsche Kombinationen beim Benutzen von malloc, new und new [] mit free, delete und delete [] Überlappende src und dst Zeiger bei der Benutzung von memcpy() oder verwandten Funktionen und noch vieles mehr... Im folgenden möchte ich auf ein paar Tools eingehen, die helfen solche Probleme zu finden. Memory Leaks Memory Leaks entstehen, wenn alle Referenzen auf dynamisch reservierten Speicher verloren gehen oder überschrieben werden; dann ist es nämlich nicht mehr möglich auf diesen Bereich zuzugreifen oder ihn wieder frei zu geben. In Sprachen, wie C oder C++, die keine Garbage Collection besitzen, wächst so der vom Programm benutzte Speicher immer weiter an. Die Folge davon ist, dass das Betriebssystem verstärkt ausswappen muß - dies verlangsamt das betreffende und alle anderen Programme. Im schlimmsten Fall kann der Swapbereich vollaufen, und das Betriebssystem ist gezwungen Prozesse zu killen 9. top Der wohl einfachste Weg herauszufinden, ob ein Programm,,undichte Stellen besitzt, ist es während der Abarbeitung mittels top zu beobachten. Top listet alle Prozesse auf, und sortiert diese auf Wunsch (drücken von M) absteigend nach dem benutzten Speicher. 9 Was z.b. im Falle von Linux nicht unbedingt das verursachende Programm sein muß. 13

14 3 Das Speichermanagement MemProf Detailliertere Informationen bietet MemProf, eine grafische Gnome Anwendung. Mem- Prof kann den Speicher durchsuchen und dynamisch reservierte Blöcke finden, auf die nirgends mehr referenziert wird. Zusätzlich kann man sich auflisten lassen, welche Funktionen wieviel Speicher reserviert haben. Es ist nicht nötig, das zu inspizierende Programm mit speziellen Optionen zu kompilieren, da MemProf die Routinen zur Speicherbereitstellung durch Überladen der C Funktionen überschreibt 10. Abbildung 11: MemProf analysiert das Programm main Abb. 11 zeigt wie MemProf main analysiert; im Unterschied zu den bisher dargestellten Tools findet die Analyse zeitgleich mit der Abarbeitung des Programmes statt - der Balken bewegt sich also während das Programm abgearbeitet wird. Die drei verschiedenen Farben haben folgende Beutung: Gelb Reservierter Speicherbereich Blau Reservierter Bereich, der dann freigegeben wurde (,,high-warter-mark ) Rot Verweister Speicherbereich (erscheint nach Drücken der,,leaks Taste) Wie zu erkennen ist, existieren in dem Programm main verweiste Speicherbereiche. Hier ist es noch einfach, sie im Quelltext zu finden. Valgrind mit Memcheck Skin Der Memcheck-Skin von Valgrind eignet sich sehr gut zum Aufspüren von Speicherfehlern. Alle auf Seite 13 genannten Fehler werden von Memcheck entdeckt. Aufgerufen wird der Memory Profiler mit dem Befehl Valgrind vor dem zu testenden Programm. Dabei können durch verschiedene Parameter diverse Einstellungen getätigt werden. So z.b. veranlasst leak-check=yes Valgrind nach dem Beenden das Programmes nach Memory Leaks zu suchen. Die Option gdb-attach=yes startet den GNU Debugger nachdem ein Fehler entdeckt wurde. 10 Wie immer ermöglichen Debugoptionen (-g) Funktionsnamen aufzulösen. 14 Profiler unter Linux

15 3 Das Speichermanagement Abb. 12 zeigt die Ausgabe von Valgrind leak-check=yes nach dem Testen des,,undichten main Beispiels. Abbildung 12: Valgrind analysiert das Programm main Als letztes Beispiel möchte ich noch das Programm StringTest mit Valgrind analysieren. Es zeigt an wenigen Zeilen Quelltext, wie schwer es ist Speicherfehler zu entdecken; hinzukommt, dass der Fehler bei diesem kleinen Programm noch nicht einmal einen Absturz verursacht - es läuft anscheinend fehlerfrei. Genau solche Fehler sind es, die durch normales Debuggen sehr schwer zu finden sind und oft mysteriöse, nicht reproduzierbare Programmabstürze zur Folge haben. Der kurze Quelltext ist zusammen mit einem Ausschnitt der Analyse von Valgrind in Abb. 13 zu sehen: Der Speicherbereich der bei ptr für den String reserviert wird, ist um 1 Byte zu kurz 11. Wird nun der String an der Adresse ptr herausgeschrieben, liest der Prozessor eine nicht reservierte Speicherzelle; hier steht wahrscheinlich eine 0, sodass die Ausgabe,,Hello World scheinbar fehlerfrei auf dem Bildschirm erscheint. Auch kommt es zu keinem Segmentation fault, da Speicher durch das Betriebssystem nur seitenweise an Prozesse gegeben wird und die Schutzmechanismen auf der Granularität von Seiten und nicht einzelner Bytes verwirklicht sind. Als graphische Frontends für den Memcheck-Skin kann man Alleyoop [14] oder Valgui benutzen. 11 Die dreizehn Byte Speicherbedarf für den String ergeben sich aus zwölf Byte Buchstaben und der abschließenden 0 für C-Strings. 15

16 3 Das Speichermanagement (a) Quelltext (b) Analyse von Valgrind Abbildung 13: Valgrind deckt einen Speicherfehler auf Alleyoop stellt die Ergebnisse von Valgrind in einem Baum übersichtlicher dar; bei jedem gefundenen Memory Leak erscheinen die verursachenden Quelltextzeilen in der Baumansicht. Durch Doppelklicken kann ein Editor die entsprechende Datei öffnen und automatisch an die betreffende Quelltextzeile springen. Abb. 14 zeigt die Analyse des Programmes main. Abbildung 14: Alleyoop analysiert das Programm main Valgui ist nur als CVS Version erhältlich, und ließ sich erst nach kleineren Änderungen im Quelltext kompilieren 12. Der Funktionsumfang hingegen ist umfangreicher als der von 12 Benutzte QT-Version: 3.2.3; GCC Version Profiler unter Linux

17 4 Kommerzielle Tools Alleyoop: Einstellungen für Pfade der Quelldateien, zahlreiche Filtermöglichkeiten und Quelltextvorschau sind implementiert. Genauere Informationen sind auf der (recht rudimentären) Webpage von Valgui [15] verfügbar. Abb. 15 zeigt Valgui mit zwei Sichten auf dasselbe Dokument. Während die linke Seite gänzlich ungefiltert ist, ist bei der gefiltereten Ausgabe rechts auch ein Teil des Quellcodes vorhanden. Abbildung 15: Valgui bei der Analyse von Speicherfehlern 4 Kommerzielle Tools VTune Neben den hier vorgestellten freien Tools gibt es natürlich noch kommerzielle Produkte. Intel vertreibt das Produkt VTune, welches seit 2003 auch als Linux Version vorliegt. VTune für Linux benutzt, wie OProfile die Profiling Mechanismen moderner CPUs. Intel bietet eine 7-tägige Testversion des Produktes an - Die Installation der Linux Version erfolgt durch ein in kompilierter Form ausgeliefertes Installationsprogramm. Dies kann nur mit root-rechten ausgeführt werden, was mich davon abgehalten hat, das Programm weiter zu testen. 17

18 4 Kommerzielle Tools Rational Purify Plus Das von IBM angebotene Tool Rational Purify Plus erstellt Zeit- und Performance profile von Programmen und kann Memory Leaks aufspüren. Die in der Dokumentation vorgestellte Funktionalität und die gezeigte grafische Oberfläche sind sehr umfangreich. Auch IBM bietet eine 7-tägige Testversion an. Das Programm lies sich leicht installieren (was diesmal ohne Supernutzer-Rechte möglich war). Beim Ausführen der Testbeispiele erschien auf meinem System 13 die Fehlermeldung: ld.so: Incorrectly built binary which accesses errno or h errno directly. ld.so: See /usr/share/doc/libc6/faq.gz. Nach mehreren Warnungen hat Pruify schließlich abgebrochen. 13 GNU Debian Sid, er Kernel 18 Profiler unter Linux

19 5 Zusammenfassung 5 Zusammenfassung Hier die,,vorzüge und,,schwächen der vorgestellten Profilingtools: Programm Zeit messen Aufrufe zählen Speicher debuggen GUI Besonderheiten time l/strace GProf genaue Gesamtlaufzeit für das gesamte Programm Laufzeit für alle Funktionen - - nicht nötig System- und Bibliotheksfunktionen System- und Bibliotheksfunktionen alle Funktionen, zeigt Aufrufhierarchie KProf GCov - alle Befehle - - Valgrind Simulation aller Befehle, Bibliotheken und Systemaufrufe MemProf - - OProfile VTune, Rational Prurify alle Befehle Alle Funktionen, Bibliotheksund Systemaufrufe Alle Funktionen, Bibliotheksund Systemaufrufe zeigt Memory Leaks - - Alle Funktionen, Bibliotheksund Systemaufrufe Alle Funktionen, Bibliotheksund Systemaufrufe Viele Speicherfehler zeigt Vielzahl von Speicherfehlern KCachegrind, Alleyoop, Valgui ist GUI enthält umfangreiche GUIs keine Anforderungen an Programm keine Anforderungen an Programm Programm muß mit pg übersetzt werden Programm muß mit speziellen Optionen neu übersetzt werden Simulation einer CPU; Programm muß shared Libraries benutzen; sehr langsam zeigt Speicherverbrauch dynamisch während der Laufzeit benutzt Kernel Modul, profiled alle laufenden Prozesse eines Systems kommerzielle Tools 19

20 Index Index Alleyoop, Cachegrind, 10 Calltree, 10 clock(), 4 GCov, 9 getitimer(), 5 GProf, 5, 7, 9 KCachegrind, 10, 11 KProf, 7, 8 ltrace, 5, 6 Memcheck, 10, 14, 15 MemProf, 14 OProfile, 10, 12, 17 Rational Purify Plus, 18 setitimer(), 5 strace, 5 time, 4, 5 top, 13 Valgrind, 9, 10, Valgui, VTune, Profiler unter Linux

21 Literatur und Infos Literatur und Infos [1] Stephan Siemen: Programme beschleunigen mit Profilern und Memory-Debuggern; Linux-Magazin Okt [2] Günther Röhrich: Programmieren mit Linux; 2000 Linux-Magazin März 2000 [3] Gnu Public License, [4] Linux man pages, Sektion 1: time [5] Linux man pages, Sektion 3: clock [6] Linux man pages, Sektion 2: getitimer [7] Linux man pages, Sektion 1: ltrace [8] Linux man pages, Sektion 1: strace [9] Linux man pages, Sektion 1: gprof [10] Linux man pages, Sektion 1: gcov [11] KProf: [12] Valgrind, mit Skins: [13] KCachegrind und Calltree: [14] Alleyoop: [15] Valgui: [16] OProfile: [17] MemProf: [18] Rational Purify Plus: [19] VTune: 21

Was ist ein Profiler?

Was ist ein Profiler? Profiling Was ist ein Profiler? (Theorie) Invasives Profiling Nichtinvasives Profiling Profiling in der Praxis gprof, gcov OProfile valgrind/callgrind Intel VTune Was ist ein Profiler? Analyse des Laufzeitverhaltens

Mehr

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Webalizer HOWTO. Stand: 18.06.2012

Webalizer HOWTO. Stand: 18.06.2012 Webalizer HOWTO Stand: 18.06.2012 Copyright 2003 by manitu. Alle Rechte vorbehalten. Alle verwendeten Bezeichnungen dienen lediglich der Kennzeichnung und können z.t. eingetragene Warenzeichen sein, ohne

Mehr

Nach dem Einstecken des mdentity wird die Anwendung nicht gestartet

Nach dem Einstecken des mdentity wird die Anwendung nicht gestartet Nach dem Einstecken des mdentity wird die Anwendung nicht gestartet Zum Start der Anwendung, nach dem Einstecken des midentity Geräts, gibt es mehrere Möglichkeiten. Sofern Sie das midentity Gerät unter

Mehr

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank Die Entscheidung Advoware über VPN direkt auf dem lokalen PC / Netzwerk mit Zugriff auf die Datenbank des zentralen Servers am anderen

Mehr

GITS Steckbriefe 1.9 - Tutorial

GITS Steckbriefe 1.9 - Tutorial Allgemeines Die Steckbriefkomponente basiert auf der CONTACTS XTD Komponente von Kurt Banfi, welche erheblich modifiziert bzw. angepasst wurde. Zuerst war nur eine kleine Änderung der Komponente für ein

Mehr

Jederzeit Ordnung halten

Jederzeit Ordnung halten Kapitel Jederzeit Ordnung halten 6 auf Ihrem Mac In diesem Buch war bereits einige Male vom Finder die Rede. Dieses Kapitel wird sich nun ausführlich diesem so wichtigen Programm widmen. Sie werden das

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Anzeige von eingescannten Rechnungen

Anzeige von eingescannten Rechnungen Anzeige von eingescannten Rechnungen Wenn Sie sich zu einer Eingangsrechnung die eingescannte Originalrechnung ansehen möchten, wählen Sie als ersten Schritt aus Ihrem Benutzermenü unter dem Kapitel Eingangsrechnung

Mehr

Visual Basic Express erstes Projekt anlegen

Visual Basic Express erstes Projekt anlegen Inhalt Dokument Beschreibung... 1 Erstes Projekt anlegen... 1 Verweise hinzufügen... 2 Imports setzen... 5 Public Class vorbereiten... 6 Mehrere Tools programmieren... 7 Dokument Beschreibung Nach der

Mehr

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann. Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann. Einleitung Es kommt vor, dass im Handel Disketten angeboten werden, die Styles und Registrationen

Mehr

multisign Signatur-Prüfwerkzeug Handbuch Security Networks AG Stand: 24.06.05

multisign Signatur-Prüfwerkzeug Handbuch Security Networks AG Stand: 24.06.05 multisign Signatur-Prüfwerkzeug Handbuch Security Networks AG multisign Signatur Prüfwerkzeug Benutzerhandbuch 1 1 Einleitung Die multisign-produktfamilie ermöglicht die automatische Erstellung qualifizierter

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

NEUES BEI BUSINESSLINE WINDOWS

NEUES BEI BUSINESSLINE WINDOWS Fon: 0761-400 26 26 Schwarzwaldstr. 132 Fax: 0761-400 26 27 rueckertsoftware@arcor.de 79102 Freiburg www.rueckert-software.de Beratung Software Schulung Hardware Support Schwarzwaldstrasse 132 79102 Freiburg

Mehr

Kontakte Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.

Kontakte Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering. Kontakte Kontakte Seite 1 Kontakte Seite 2 Inhaltsverzeichnis 1. ALLGEMEINE INFORMATIONEN ZU DEN KONTAKTEN 4 2. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 3. STAMMDATEN FÜR DIE KONTAKTE 4 4. ARBEITEN

Mehr

Anleitung zum GUI Version 2.x

Anleitung zum GUI Version 2.x GUI (Graphical User Interface) für PC-DMIS V3.x 4.x Seite 1 von 7 Anleitung zum GUI Version 2.x Einsatzziel des Programms: Über ein grafisches Menü PC-DMIS Messprogramme starten. Empfehlenswert für Anwender

Mehr

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup. 04.06.2005 Conrad Kobsch Ein Blick voraus des Autors von C++: Bjarne Stroustrup 04.06.2005 Conrad Kobsch Inhalt Einleitung Rückblick Nur eine Übergangslösung? Was würde C++ effektiver machen? Quelle 2 Einleitung Wo steht C++,

Mehr

Installationsanleitung für das Integrity Tool zur AusweisApp Version 1.7 (Microsoft Windows) Dokumentversion 1.0

Installationsanleitung für das Integrity Tool zur AusweisApp Version 1.7 (Microsoft Windows) Dokumentversion 1.0 Installationsanleitung für das Integrity Tool zur AusweisApp Version 1.7 (Microsoft Windows) Dokumentversion 1.0 Inhaltsverzeichnis 1 Vorbemerkung 2 2 Mindestanforderungen an Ihr System 3 3 Sicherheitsmaßnahmen

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

Informationen zur Verwendung von Visual Studio und cmake

Informationen zur Verwendung von Visual Studio und cmake Inhaltsverzeichnis Informationen zur Verwendung von Visual Studio und cmake... 2 Erste Schritte mit Visual Studio... 2 Einstellungen für Visual Studio 2013... 2 Nutzung von cmake... 6 Installation von

Mehr

SOFiSTiK AG 2011. Installationsanleitung

SOFiSTiK AG 2011. Installationsanleitung SOFiSTiK AG 2011 Installationsanleitung Copyright SOFiSTiK AG, D-85764 Oberschleißheim, 1990-2011 Dieses Handbuch ist urheberrechtlich geschützt. Kein Teil darf ohne schriftliche Genehmigung der SO- FiSTiK

Mehr

Installationsleitfaden kabelsafe backup professional unter MS Windows

Installationsleitfaden kabelsafe backup professional unter MS Windows Installationsleitfaden kabelsafe backup professional unter MS Windows Installationsanleitung und Schnelleinstieg kabelsafe backup professional (kabelnet-obm) unter MS Windows Als PDF herunterladen Diese

Mehr

Thermoguard. Thermoguard CIM Custom Integration Module Version 2.70

Thermoguard. Thermoguard CIM Custom Integration Module Version 2.70 Thermoguard Thermoguard CIM Custom Integration Module Version 2.70 Inhalt - Einleitung... 3 - Voraussetzungen... 3 - Aktivierung und Funktion der Schnittstelle... 3 - Parameter... 4 - NLS-Einfluss... 4

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Verwenden von OnlineUebungen.ch nichts einfacher als das!

Verwenden von OnlineUebungen.ch nichts einfacher als das! Verwenden von OnlineUebungen.ch nichts einfacher als das! Diese Kurzanleitung soll Ihnen einen Schnell-Überblick über den SchulArena-Übungsgenerator www.onlineuebungen.ch verschaffen. 1. Anmeldung als

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag Anton Ochsenkühn amac BUCH VERLAG Ecxel 2016 für Mac amac-buch Verlag 2 Word-Dokumentenkatalog! Zudem können unterhalb von Neu noch Zuletzt verwendet eingeblendet werden. Damit hat der Anwender einen sehr

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Innovator 11 classix. Anbindung an Eclipse. Einführung, Installation und Konfiguration. Connect. Michael Kaaden. www.mid.de

Innovator 11 classix. Anbindung an Eclipse. Einführung, Installation und Konfiguration. Connect. Michael Kaaden. www.mid.de Innovator 11 classix Anbindung an Eclipse Einführung, Installation und Konfiguration Michael Kaaden Connect www.mid.de Einführung in die Innovator-Eclipse-Anbindung Die hier beschriebene Anbindung steht

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Fraunhofer FOKUS ADPSW-INSTALLATION. Abiturdaten-Prüfsoftware. Version 3.0.1, 7. Mai 2013 FRAUNHOFER-INSTITUT FÜR OFFENE KOMMUNIKATIONSSYSTEME FOKUS

Fraunhofer FOKUS ADPSW-INSTALLATION. Abiturdaten-Prüfsoftware. Version 3.0.1, 7. Mai 2013 FRAUNHOFER-INSTITUT FÜR OFFENE KOMMUNIKATIONSSYSTEME FOKUS Fraunhofer FOKUS FRAUNHOFER-INSTITUT FÜR OFFENE KOMMUNIKATIONSSYSTEME FOKUS ADPSW-INSTALLATION Abiturdaten-Prüfsoftware Version 3.0.1, 7. Mai 2013 IN ZUSAMMENARBEIT MIT ADPSW-INSTALLATION Abiturdaten-Prüfsoftware

Mehr

3 Installation von Exchange

3 Installation von Exchange 3 Installation von Exchange Server 2010 In diesem Kapitel wird nun der erste Exchange Server 2010 in eine neue Umgebung installiert. Ich werde hier erst einmal eine einfache Installation mit der grafischen

Mehr

Gezielt über Folien hinweg springen

Gezielt über Folien hinweg springen Gezielt über Folien hinweg springen Nehmen wir an, Sie haben eine relativ große Präsentation. Manchmal möchten Sie über Folien hinweg zu anderen Folien springen. Das kann vorkommen, weil Sie den gesamten

Mehr

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15 Historical Viewer zu ETC5000 Benutzerhandbuch 312/15 Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Dokumentation...3 2 Installation... 3 3 Exportieren der Logdatei aus dem ETC 5000... 3 4 Anlegen eines

Mehr

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005 Das Software Studio Christian Efinger mobilepoi 0.91 Demo Version Anleitung Erstellt am 21. Oktober 2005 Kontakt: Das Software Studio Christian Efinger ce@efinger-online.de Inhalt 1. Einführung... 3 2.

Mehr

Lieferschein Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.

Lieferschein Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering. Lieferschein Lieferscheine Seite 1 Lieferscheine Seite 2 Inhaltsverzeichnis 1. STARTEN DER LIEFERSCHEINE 4 2. ARBEITEN MIT DEN LIEFERSCHEINEN 4 2.1 ERFASSEN EINES NEUEN LIEFERSCHEINS 5 2.1.1 TEXTFELD FÜR

Mehr

GEVITAS Farben-Reaktionstest

GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest Inhalt 1. Allgemeines... 1 2. Funktionsweise der Tests... 2 3. Die Ruhetaste und die Auslösetaste... 2 4. Starten der App Hauptmenü... 3 5. Auswahl

Mehr

Tutorial - www.root13.de

Tutorial - www.root13.de Tutorial - www.root13.de Netzwerk unter Linux einrichten (SuSE 7.0 oder höher) Inhaltsverzeichnis: - Netzwerk einrichten - Apache einrichten - einfaches FTP einrichten - GRUB einrichten Seite 1 Netzwerk

Mehr

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen Menü Macro WinIBW2-Macros unter Windows7?... 1 Macros aufnehmen... 1 Menübefehle und Schaltflächen in Macros verwenden... 4 Macros bearbeiten... 4 Macros löschen... 5 Macro-Dateien... 5 Macros importieren...

Mehr

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Step by Step Softwareverteilung unter Novell. von Christian Bartl Step by Step Softwareverteilung unter Novell von Softwareverteilung unter Novell 1) Starten von einfachen *.EXE-Dateien: Starten sie ConsoleOne Erstellen sie eine eigene Organisationseinheit für ihre Anwendungen

Mehr

S7-Hantierungsbausteine für R355, R6000 und R2700

S7-Hantierungsbausteine für R355, R6000 und R2700 S7-Hantierungsbausteine für R355, R6000 und R2700 1. FB90, Zyklus_R/W Dieser Baustein dient zur zentralen Kommunikation zwischen Anwenderprogramm und dem Modul R355 sowie den Geräten R6000 und R2700 über

Mehr

Ihr IT-Administrator oder unser Support wird Ihnen im Zweifelsfall gerne weiterhelfen.

Ihr IT-Administrator oder unser Support wird Ihnen im Zweifelsfall gerne weiterhelfen. Dieses Dokument beschreibt die nötigen Schritte für den Umstieg des von AMS.4 eingesetzten Firebird-Datenbankservers auf die Version 2.5. Beachten Sie dabei, dass diese Schritte nur bei einer Server-Installation

Mehr

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt

ec@ros2-installer ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg 7 64331 Weiterstadt ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Download des ecaros2-installer...3 2 Aufruf des ecaros2-installer...3 2.1 Konsolen-Fenster (Windows)...3 2.2 Konsolen-Fenster

Mehr

CMS.R. Bedienungsanleitung. Modul Cron. Copyright 10.09.2009. www.sruttloff.de CMS.R. - 1 - Revision 1

CMS.R. Bedienungsanleitung. Modul Cron. Copyright 10.09.2009. www.sruttloff.de CMS.R. - 1 - Revision 1 CMS.R. Bedienungsanleitung Modul Cron Revision 1 Copyright 10.09.2009 www.sruttloff.de CMS.R. - 1 - WOZU CRON...3 VERWENDUNG...3 EINSTELLUNGEN...5 TASK ERSTELLEN / BEARBEITEN...6 RECHTE...7 EREIGNISSE...7

Mehr

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt 1. Vorbetrachtungen... 2 2. Die Installation... 2 3. Einstellungen - Erstellung der Verknüpfung... 3 3.1 Benutzung des Konfigurationsprogramms

Mehr

Satzhilfen Publisher Seite Einrichten

Satzhilfen Publisher Seite Einrichten Satzhilfen Publisher Seite Einrichten Es gibt verschiedene Möglichkeiten die Seite einzurichten, wir fangen mit der normalen Version an, Seite einrichten auf Format A5 Wählen Sie zunächst Datei Seite einrichten,

Mehr

SRH - Kurzinformation

SRH - Kurzinformation SRH - Kurzinformation Dieses Dokument gibt eine Übersicht über das Shockley/Read/Hall-Programm, im folgenden SRH- Programm genannt. Bei dem SRH-Programm handelt es sich um ein Java Programm, welches in

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung Inhalt 1. Einleitung:... 2 2. Igel ThinClient Linux OS und Zugriff aus dem LAN... 3

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de

Kennen, können, beherrschen lernen was gebraucht wird www.doelle-web.de Inhaltsverzeichnis Inhaltsverzeichnis... 1 Grundlagen... 2 Hyperlinks innerhalb einer Datei... 2 Verweisziel definieren... 2 Einen Querverweis setzen... 3 Verschiedene Arten von Hyperlinks... 3 Einfache

Mehr

Massenversand Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.

Massenversand Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering. Massenversand Massenversand Seite 1 Massenversand Seite 2 Inhaltsverzeichnis 1. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 2. STAMMDATEN FÜR DEN MASSENVERSAND 4 2.1 ALLGEMEINE STAMMDATEN 4 2.2

Mehr

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung The ToolChain Grafisches Debugging mit der QtCreator Entwicklungsumgebung geschrieben von Gregor Rebel 2014-2015 Hintergrund Neben dem textuellen Debuggen in der Textkonsole bieten moderene Entwicklungsumgebungen

Mehr

BEFRAGUNGSMANAGER. Ergebnisse der Kundenbefragung. 21.01.2015 bis 27.02.2015. Tübingen, Juni 2015

BEFRAGUNGSMANAGER. Ergebnisse der Kundenbefragung. 21.01.2015 bis 27.02.2015. Tübingen, Juni 2015 BEFRAGUNGSMANAGER Ergebnisse der Kundenbefragung 21.01.2015 bis 27.02.2015 Tübingen, Juni 2015 Herzlichen Dank! Wir möchten uns ganz herzlich für die rege Teilnahme an unserer Kundenbefragung im Frühjahr

Mehr

Visual Basic Express Debugging

Visual Basic Express Debugging Inhalt Dokument Beschreibung... 1 Projekt vorbereiten... 1 Verknüpfung zu Autocad/ProStructures einstellen... 2 Debugging... 4 Autocad/ProSteel Beispiel... 5 Dokument Beschreibung Debuggen nennt man das

Mehr

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

PocketPC.ch Review. SBSH ilauncher 3.1. Erstelldatum: 3. Dezember 2007 Letzte Änderung: 3. Dezember 2007. PocketPC.ch_Review_iLauncher.

PocketPC.ch Review. SBSH ilauncher 3.1. Erstelldatum: 3. Dezember 2007 Letzte Änderung: 3. Dezember 2007. PocketPC.ch_Review_iLauncher. PocketPC.ch Review SBSH ilauncher 3.1 Erstelldatum: 3. Dezember 2007 Letzte Änderung: 3. Dezember 2007 Autor: Dateiname: PocketPC.ch_Review_iLauncher.doc Inhaltsverzeichnis SBSH ilauncher 3.1...3 Übersicht...

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Ferienakademie 2009. Programmierkonzepte für Multi-Core Rechner. Tools: Profiler

Ferienakademie 2009. Programmierkonzepte für Multi-Core Rechner. Tools: Profiler Ferienakademie 2009 Programmierkonzepte für Multi-Core Rechner Tools: Profiler Gliederung Einführung Aufgaben eines Profilers Techniken von Profilern Code Instrumentation Instruction Simulation Hardware

Mehr

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1): Supportanfrage ESN Bitte füllen Sie zu jeder Supportanfrage diese Vorlage aus. Sie helfen uns damit, Ihre Anfrage kompetent und schnell beantworten zu können. Verwenden Sie für jedes einzelne Thema jeweils

Mehr

Anleitung zur Verwendung der VVW-Word-Vorlagen

Anleitung zur Verwendung der VVW-Word-Vorlagen Anleitung zur Verwendung der VVW-Word-Vorlagen v1.0. Jun-15 1 1 Vorwort Sehr geehrte Autorinnen und Autoren, wir haben für Sie eine Dokumentenvorlage für Microsoft Word entwickelt, um Ihnen die strukturierte

Mehr

INSTALLATION STHENO/PRO V1.2. Installation

INSTALLATION STHENO/PRO V1.2. Installation INSTALLATION In diesem Kapitel wird beschrieben, wie Sie STHENO/PRO, STHENO/PRO mit dem Lizenzserver und STHENO/PRO im integrierten Modus von Pro/ENGINEER installieren. Hinweise zur... 14 STHENO/PRO installieren...

Mehr

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN Karlsruhe, April 2015 Verwendung dichte-basierter Teilrouten Stellen Sie sich vor, in einem belebten Gebäude,

Mehr

Die Statistiken von SiMedia

Die Statistiken von SiMedia Die Statistiken von SiMedia Unsere Statistiken sind unter folgender Adresse erreichbar: http://stats.simedia.info Kategorie Titel Einfach Erweitert Übersicht Datum und Zeit Inhalt Besucher-Demographie

Mehr

Das Handbuch zu Simond. Peter H. Grasch

Das Handbuch zu Simond. Peter H. Grasch Peter H. Grasch 2 Inhaltsverzeichnis 1 Einführung 6 2 Simond verwenden 7 2.1 Benutzereinrichtung.................................... 7 2.2 Netzwerkeinrichtung.................................... 9 2.3

Mehr

ecaros2 - Accountmanager

ecaros2 - Accountmanager ecaros2 - Accountmanager procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Aufruf des ecaros2-accountmanager...3 2 Bedienung Accountmanager...4 procar informatik AG 2 Stand: FS 09/2012 1 Aufruf

Mehr

ARCO SQL T11 - Neue Funktionalitäten

ARCO SQL T11 - Neue Funktionalitäten ARCO SQL T11 - Neue Funktionalitäten 16.03.2016 / ABACUS Business Solutions AG Informationen zu diesem Dokument Einleitung Die hier beschriebenen Neuigkeiten betreffen Änderungen seit der letzten Version

Mehr

Nutzung von GiS BasePac 8 im Netzwerk

Nutzung von GiS BasePac 8 im Netzwerk Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff

Mehr

Lizenz-Server überwachen

Lizenz-Server überwachen Einsteiger Fortgeschrittene Profis markus.meinl@m-quest.ch Version 1.0 Voraussetzungen für diesen Workshop 1. Die M-Quest Suite 2005-M oder höher ist auf diesem Rechner installiert 2. Das Produkt M-Lock

Mehr

SFTP SCP - Synology Wiki

SFTP SCP - Synology Wiki 1 of 6 25.07.2009 07:43 SFTP SCP Aus Synology Wiki Inhaltsverzeichnis 1 Einleitung 1.1 Grundsätzliches 2 Voraussetzungen 2.1 Allgemein 2.2 für SFTP und SCP 3 Installation 3.1 Welche openssl Version 3.2

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Installation LehrerConsole (für Version 6.2)

Installation LehrerConsole (für Version 6.2) Dr. Kaiser Systemhaus GmbH Köpenicker Straße 325 12555 Berlin Telefon: (0 30) 65 76 22 36 Telefax: (0 30) 65 76 22 38 E-Mail: info@dr-kaiser.de Internet: www.dr-kaiser.de Installation LehrerConsole (für

Mehr

Installationsanleitung Sander und Doll Mobilaufmaß. Stand 22.04.2003

Installationsanleitung Sander und Doll Mobilaufmaß. Stand 22.04.2003 Installationsanleitung Sander und Doll Mobilaufmaß Stand 22.04.2003 Sander und Doll AG Installationsanleitung Sander und Doll Mobilaufmaß Inhalt 1 Voraussetzungen...1 2 ActiveSync...1 2.1 Systemanforderungen...1

Mehr

Anwendungshinweise zur Anwendung der Soziometrie

Anwendungshinweise zur Anwendung der Soziometrie Anwendungshinweise zur Anwendung der Soziometrie Einführung Die Soziometrie ist ein Verfahren, welches sich besonders gut dafür eignet, Beziehungen zwischen Mitgliedern einer Gruppe darzustellen. Das Verfahren

Mehr

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten. 1 Einleitung Lernziele automatische Antworten bei Abwesenheit senden Einstellungen für automatische Antworten Lerndauer 4 Minuten Seite 1 von 18 2 Antworten bei Abwesenheit senden» Outlook kann während

Mehr

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Erweiterung AE WWS Lite Win: AES Security Verschlüsselung Handbuch und Dokumentation Beschreibung ab Vers. 1.13.5 Am Güterbahnhof 15 D-31303 Burgdorf Tel: +49 5136 802421 Fax: +49 5136 9776368 Seite 1

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

! Tipps und Tricks Sie können den Windows Explorer am einfachsten mit der Tastenkombination Windows+ E öffnen.

! Tipps und Tricks Sie können den Windows Explorer am einfachsten mit der Tastenkombination Windows+ E öffnen. Bereiche im Explorer-Fenster In dieser Lektion lernen Sie den Aufbau des Windows Explorers kennen. Der Windows Explorer ist auch in Windows 7 weiterhin der zentrale Punkt, wenn es um die Verwaltung von

Mehr

teamsync Kurzanleitung

teamsync Kurzanleitung 1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier

Mehr

Produktschulung WinDachJournal

Produktschulung WinDachJournal Produktschulung WinDachJournal Codex GmbH Stand 2009 Inhaltsverzeichnis Einleitung... 3 Starten des Programms... 4 Erfassen von Notizen in WinJournal... 6 Einfügen von vorgefertigten Objekten in WinJournal...

Mehr

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Informatik Kurs Simulation. Hilfe für den Consideo Modeler Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke

Mehr

it Symbiose Software Installation 1 Installationsbeschreibung für alle Series 60 (S60) Geräte - im speziellen Nokia S60-3rd Edition Stand März 2007

it Symbiose Software Installation 1 Installationsbeschreibung für alle Series 60 (S60) Geräte - im speziellen Nokia S60-3rd Edition Stand März 2007 Software Installation 1 1. Softwareempfang auf Ihrem Endgerät Nach erfolgter Freischaltung in unserem System erhalten Sie von uns 3 SMS zugesandt. Folgende Mitteilungen werden an Ihr Endgerät zum Versandt

Mehr

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7 Tutorial: Wie kann ich Kontakte erfassen In myfactory können Sie Kontakte erfassen. Unter einem Kontakt versteht man einen Datensatz, der sich auf eine Tätigkeit im Zusammenhang mit einer Adresse bezieht.

Mehr

Handbuch für Gründer. Daniela Richter, Marco Habschick. Stand: 21.02.2013. Verbundpartner:

Handbuch für Gründer. Daniela Richter, Marco Habschick. Stand: 21.02.2013. Verbundpartner: Daniela Richter, Marco Habschick Stand: 21.02.2013 Verbundpartner: Inhaltsverzeichnis 1. Allgemeines...3 2. Zugang zur Gründungswerkstatt...4 3. Login...5 4. Meine Werkstatt...6 5. Businessplan...7 5.1.

Mehr

Windows Server 2012 RC2 konfigurieren

Windows Server 2012 RC2 konfigurieren Windows Server 2012 RC2 konfigurieren Kurzanleitung um einen Windows Server 2012 als Primären Domänencontroller einzurichten. Vorbereitung und Voraussetzungen In NT 4 Zeiten, konnte man bei der Installation

Mehr

Auto-Provisionierung tiptel 31x0 mit Yeastar MyPBX

Auto-Provisionierung tiptel 31x0 mit Yeastar MyPBX Allgemeines Auto-Provisionierung tiptel 31x0 mit Yeastar MyPBX Stand 19.09.2014 Die Yeastar MyPBX Telefonanlagen unterstützen die automatische Konfiguration der tiptel 3110, tiptel 3120 und tiptel 3130

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr

Installation OMNIKEY 3121 USB

Installation OMNIKEY 3121 USB Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,

Mehr

TYPO3 Tipps und Tricks

TYPO3 Tipps und Tricks TYPO3 Tipps und Tricks Seiten als Shortcut. Hiermit ist gemeint, dass eine Oberseite direkt auf eine tiefere Unterseite verlinkt. Dies kann bei Themen ohne gesonderte Übersichtsseite hilfreich sein. Zum

Mehr

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine PhotoLine S/W mit PhotoLine Erstellt mit Version 16.11 Ich liebe Schwarzweiß-Bilder und schaue mir neidisch die Meisterwerke an, die andere Fotografen zustande bringen. Schon lange versuche ich, auch so

Mehr

Kompetitive Analysen von Online-Algorithmen

Kompetitive Analysen von Online-Algorithmen Kompetitive Analysen von Online-Algorithmen jonas echterhoff 16. Juli 004 1 Einführung 1.1 Terminologie Online-Algorithmen sind Algorithmen, die Probleme lösen sollen, bei denen Entscheidungen getroffen

Mehr

Bedienungsanleitung. Stand: 26.05.2011. Copyright 2011 by GEVITAS GmbH www.gevitas.de

Bedienungsanleitung. Stand: 26.05.2011. Copyright 2011 by GEVITAS GmbH www.gevitas.de GEVITAS-Sync Bedienungsanleitung Stand: 26.05.2011 Copyright 2011 by GEVITAS GmbH www.gevitas.de Inhalt 1. Einleitung... 3 1.1. Installation... 3 1.2. Zugriffsrechte... 3 1.3. Starten... 4 1.4. Die Menü-Leiste...

Mehr