The Art of Debugging

Author: Norman S. Matloff
Publisher: No Starch Press
ISBN: 159327002X
Format: PDF
Download Now
This book is an authoritative guide to the art of debugging, covering two of the most popular debuggers--GDB and DDD--and discussing other tools that help prevent, catch, and fix bugs in programs.

The Art of Debugging with GDB DDD and Eclipse

Author: Norman Matloff
Publisher: No Starch Press
ISBN: 1593272316
Format: PDF, Docs
Download Now
Debugging is crucial to successful software development, but even many experienced programmers find it challenging. Sophisticated debugging tools are available, yet it may be difficult to determine which features are useful in which situations. The Art of Debugging is your guide to making the debugging process more efficient and effective. The Art of Debugging illustrates the use three of the most popular debugging tools on Linux/Unix platforms: GDB, DDD, and Eclipse. The text-command based GDB (the GNU Project Debugger) is included with most distributions. DDD is a popular GUI front end for GDB, while Eclipse provides a complete integrated development environment. In addition to offering specific advice for debugging with each tool, authors Norm Matloff and Pete Salzman cover general strategies for improving the process of finding and fixing coding errors, including how to: –Inspect variables and data structures –Understand segmentation faults and core dumps –Know why your program crashes or throws exceptions –Use features like catchpoints, convenience variables, and artificial arrays –Avoid common debugging pitfalls Real world examples of coding errors help to clarify the authors’ guiding principles, and coverage of complex topics like thread, client-server, GUI, and parallel programming debugging will make you even more proficient. You'll also learn how to prevent errors in the first place with text editors, compilers, error reporting, and static code checkers. Whether you dread the thought of debugging your programs or simply want to improve your current debugging efforts, you'll find a valuable ally in The Art of Debugging.

The Art of Debugging

Author: Norman S. Matloff
Publisher: No Starch Press
ISBN: 159327002X
Format: PDF, ePub
Download Now
This book is an authoritative guide to the art of debugging, covering two of the most popular debuggers--GDB and DDD--and discussing other tools that help prevent, catch, and fix bugs in programs.

Mastering Embedded Linux Programming

Author: Chris Simmonds
Publisher: Packt Publishing Ltd
ISBN: 1787288854
Format: PDF, ePub, Mobi
Download Now
Master the techniques needed to build great, efficient embedded devices on Linux About This Book Discover how to build and configure reliable embedded Linux devices This book has been updated to include Linux 4.9 and Yocto Project 2.2 (Morty) This comprehensive guide covers the remote update of devices in the field and power management Who This Book Is For If you are an engineer who wishes to understand and use Linux in embedded devices, this book is for you. It is also for Linux developers and system programmers who are familiar with embedded systems and want to learn and program the best in class devices. It is appropriate for students studying embedded techniques, for developers implementing embedded Linux devices, and engineers supporting existing Linux devices. What You Will Learn Evaluate the Board Support Packages offered by most manufacturers of a system on chip or embedded module Use Buildroot and the Yocto Project to create embedded Linux systems quickly and efficiently Update IoT devices in the field without compromising security Reduce the power budget of devices to make batteries last longer Interact with the hardware without having to write kernel device drivers Debug devices remotely using GDB, and see how to measure the performance of the systems using powerful tools such as perk, ftrace, and valgrind Find out how to configure Linux as a real-time operating system In Detail Embedded Linux runs many of the devices we use every day, from smart TVs to WiFi routers, test equipment to industrial controllers - all of them have Linux at their heart. Linux is a core technology in the implementation of the inter-connected world of the Internet of Things. The comprehensive guide shows you the technologies and techniques required to build Linux into embedded systems. You will begin by learning about the fundamental elements that underpin all embedded Linux projects: the toolchain, the bootloader, the kernel, and the root filesystem. You'll see how to create each of these elements from scratch, and how to automate the process using Buildroot and the Yocto Project. Moving on, you'll find out how to implement an effective storage strategy for flash memory chips, and how to install updates to the device remotely once it is deployed. You'll also get to know the key aspects of writing code for embedded Linux, such as how to access hardware from applications, the implications of writing multi-threaded code, and techniques to manage memory in an efficient way. The final chapters show you how to debug your code, both in applications and in the Linux kernel, and how to profile the system so that you can look out for performance bottlenecks. By the end of the book, you will have a complete overview of the steps required to create a successful embedded Linux system. Style and approach This book is an easy-to-follow and pragmatic guide with in-depth analysis of the implementation of embedded devices. It follows the life cycle of a project from inception through to completion, at each stage giving both the theory that underlies the topic and practical step-by-step walkthroughs of an example implementation.

Linux Embedded Development

Author: Alexandru Vaduva
Publisher: Packt Publishing Ltd
ISBN: 1787124452
Format: PDF, ePub
Download Now
Leverage the power of Linux to develop captivating and powerful embedded Linux projects About This Book Explore the best practices for all embedded product development stages Learn about the compelling features offered by the Yocto Project, such as customization, virtualization, and many more Minimize project costs by using open source tools and programs Who This Book Is For If you are a developer who wants to build embedded systems using Linux, this book is for you. It is the ideal guide for you if you want to become proficient and broaden your knowledge. A basic understanding of C programming and experience with systems programming is needed. Experienced embedded Yocto developers will find new insight into working methodologies and ARM specific development competence. What You Will Learn Use the Yocto Project in the embedded Linux development process Get familiar with and customize the bootloader for a board Discover more about real-time layer, security, virtualization, CGL, and LSB See development workflows for the U-Boot and the Linux kernel, including debugging and optimization Understand the open source licensing requirements and how to comply with them when cohabiting with proprietary programs Optimize your production systems by reducing the size of both the Linux kernel and root filesystems Understand device trees and make changes to accommodate new hardware on your device Design and write multi-threaded applications using POSIX threads Measure real-time latencies and tune the Linux kernel to minimize them In Detail Embedded Linux is a complete Linux distribution employed to operate embedded devices such as smartphones, tablets, PDAs, set-top boxes, and many more. An example of an embedded Linux distribution is Android, developed by Google. This learning path starts with the module Learning Embedded Linux Using the Yocto Project. It introduces embedded Linux software and hardware architecture and presents information about the bootloader. You will go through Linux kernel features and source code and get an overview of the Yocto Project components available. The next module Embedded Linux Projects Using Yocto Project Cookbook takes you through the installation of a professional embedded Yocto setup, then advises you on best practices. Finally, it explains how to quickly get hands-on with the Freescale ARM ecosystem and community layer using the affordable and open source Wandboard embedded board. Moving ahead, the final module Mastering Embedded Linux Programming takes you through the product cycle and gives you an in-depth description of the components and options that are available at each stage. You will see how functions are split between processes and the usage of POSIX threads. By the end of this learning path, your capabilities will be enhanced to create robust and versatile embedded projects. This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products: Learning Embedded Linux Using the Yocto Project by Alexandru Vaduva Embedded Linux Projects Using Yocto Project Cookbook by Alex Gonzalez Mastering Embedded Linux Programming by Chris Simmonds Style and approach This comprehensive, step-by-step, pragmatic guide enables you to build custom versions of Linux for new embedded systems with examples that are immediately applicable to your embedded developments. Practical examples provide an easy-to-follow way to learn Yocto project development using the best practices and working methodologies. Coupled with hints and best practices, this will help you understand embedded Linux better.

GNU make

Author: Robert Mecklenburg
Publisher: O'Reilly Germany
ISBN: 9783897214088
Format: PDF, Docs
Download Now

C kurz gut

Author: Peter Prinz
Publisher: O'Reilly Germany
ISBN: 9783897212381
Format: PDF, Docs
Download Now
C - kurz & gut besteht aus zwei Teilen: einer kompakten Beschreibung der Sprache und einer thematisch strukturierten Referenz zur Standardbibliothek. Die Darstellung der Sprache basiert auf dem ANSI-Standard und geht auch auf die Erweiterungen im neuen Standard von 1999 (kurz ANSI C99) ein. Die darin eingefuhrten neuen Datentypen, Funktionen und Makros sind zur besseren Orientierung immer gekennzeichnet, da diese Erweiterungen noch nicht bei allen C-Compilern implementiert sind. Ein knapper Index hilft beim Finden der Funktionen, Typen und anderer Syntax-Elemente. Aus dem Inhalt: Grundlagen Datentypen Ausdrucke und Operatoren Anweisungen Deklarationen Funktionen Praprozessor-Direktiven Die Standardbibliothek"

Think Like a Programmer Deutsche Ausgabe

Author: V. Anton Spraul
Publisher: MITP-Verlags GmbH & Co. KG
ISBN: 3826692780
Format: PDF, ePub, Mobi
Download Now
Typische Programmieraufgaben kreativ lösen am Beispiel von C++ Von der Aufgabe zur Lösung – so gehen Sie vor Probleme analysieren und schrittweise bearbeiten Systematisches Vorgehen lernen und anwenden Aus dem Inhalt: Strategien zur Problemlösung Eingabeverarbeitung Statusverfolgung Arrays Zeiger und dynamische Speicherverwaltung Klassen Rekursion Wiederverwendung von Code Rekursive und iterative Programmierung Denken wie ein Programmierer Die Herausforderung beim Programmieren besteht nicht im Erlernen der Syntax einer bestimmten Sprache, sondern in der Fähigkeit, auf kreative Art Probleme zu lösen. In diesem einzigartigen Buch widmet sich der Autor V. Anton Spraul genau jenen Fähigkeiten, die in normalen Lehrbüchern eher nicht behandelt werden: die Fähigkeit, wie ein Programmierer zu denken und Aufgaben zu lösen. In den einzelnen Kapiteln behandelt er jeweils verschiedene Programmierkonzepte wie beispielsweise Klassen, Zeiger und Rekursion, und fordert den Leser mit erweiterbaren Übungen zur praktischen Anwendung des Gelernten auf. Sie lernen unter anderem: Probleme in diskrete Einzelteile zerlegen, die sich leichter lösen lassen Funktionen, Klassen und Bibliotheken möglichst effizient nutzen und wiederholt verwenden die perfekte Datenstruktur für eine Aufgabenstellung auswählen anspruchsvollere Programmiertechniken wie Rekursion und dynamischen Speicher einsetzen Ihre Gendanken ordnen und Strategien entwickeln, um bestimmte Problemkategorien in Angriff zu nehmen Die Beispiele im Buch werden mit C++ gelöst, die dargestellten kreativen Problemlösungskonzepte gehen aber weit über die einzelnen Programmiersprachen und oft sogar über den Bereich der Informatik hinaus. Denn wie die fähigsten Programmierer wissen, handelt es sich beim Schreiben herausragender Quelltexte um kreative Kunst und der erste Schritt auf dem Weg zum eigenen Meisterwerk besteht darin, wie ein Programmierer zu denken. Über den Autor: V. Anton Spraul hat über 15 Jahre lang Vorlesungen über die Grundlagen der Programmierung und Informatik gehalten. In diesem Buch fasst er die von ihm dabei perfektionierten Verfahren zusammen. Er ist auch Autor von »Computer Science Made Simple«.

Growing Software

Author: Louis Testa
Publisher: No Starch Press
ISBN: 1593272251
Format: PDF, Mobi
Download Now
As the technology leader at a small software company, you need to focus on people, products, processes, and technology as you bring your software to market, while doing your best to put out fires and minimize headaches. Growing Software is your guide to juggling the day-to-day challenges of running a software company while managing those long-term problems and making sure that your business continues to grow. With practical, hands-on advice, Growing Software will teach you how to build and lead an effective team, define and sell your products, work with everyone from customers to CEOs, and ensure high-quality results. Instead of learning by trial and error, you'll benefit from author Louis Testa's 20+ years of management experience. Testa combines big-picture advice, specific solutions, and real-life anecdotes to teach you how to: –Work effectively with your CEO and executive team –Improve development team efficiency and enthusiasm –Evaluate your software methodology to improve effectiveness and safeguard against failure –Use product prototypes to bridge the gap between marketing and engineering –Defuse technology time bombs Whether you're new to managing software or newly lost, Growing Software will help you and your growing company thrive.