Systems Debug

Eligibility Criteria

    BE/BTech/Mtech

    In Computer Science or Electronics

    Marks in Class 10th or equivalent – not less than 60%

    Marks in Class 12th or equivalent – not less than 60%

    Marks or CGPA in Class 10th or equivalent – not less than 60% or 6.5 CGPA on scale of 10

Duration: 16 Weeks

In a world of computers with ever-increasing complexity and pervasiveness, there is an increasing need for debugging methods that can tackle system-level faults, where reproducibility and observability of multiple interacting programs and subsystems can be dealt with and wherein field debugging is as important as pre-deployment debugging.

When testing, debugging or running diagnostics on a computer program the ability to observe the inner workings of the program’s execution and state is essential. There exist a number of options when it comes to software observability, ranging from pure hardware solutions to pure software solutions.

The debugging process starts with the observation of a failure i.e., that the behaviour of a system does not comply with the specification. At some point in time, prior to the observed failure a fault (the bug) has been executed, infecting the state of the system. When this bug propagates to output and violates the specification, the system fails. The process of finding failures by means of execution and observation is called testing and the process of finding the root cause, the fault is called debugging. In software development, testing and debugging are entangled because usually, you want to remove the bug causing the observed failure, not just establishing that it exists.

System Debugging is a necessary evolution of traditional debugging methods in order to find and understand complex bugs. Usually to find the root cause of a field failure, the information available (log data) needs to be thoroughly examined. This process is mostly a manual and time-consuming task requires expert knowledge to fix the bugs as there are lot of bottlenecks. To be able to efficiently debug a system level fault, a good understanding of the entire system is required which makes it difficult for most engineers to use the information available in system logs effectively. So the industry pays a very handsome salary for the system debugger and every industry needs such professionals.

eTECH Prowess offers a 16-Week of System Debugging job oriented course as per the specific requirements of the clients. This course is designed to offer real-time industry training & exposure to the candidates before getting into the specific project in a client location, thereby bridging the gap for attaining the required skill sets. This will also help to be in a less competitive arena and shape up a career in a niche domain.

Our next batch starts on : 1st July 2019.

Batch strength : Max 15 students only.

Prerequisite: BE/BTech/Mtech in Computer Science or Electronics.

    Eligibility :

  • Marks in Class 10th or equivalent – not less than 60%.
  • Marks in Class 12th or equivalent – not less than 60%.
  • Marks or CGPA in Class 10th or equivalent – not less than 60% or 6.5 CGPA on scale of 10.
  • Prerequisite:

    Candidates are expected to have a technical background. Basic knowledge of C/C++ language programming, microprocessor technology, memory, standard peripherals, and basic operating system knowledge is expected.

    Target Audience:

  • IT Professionals and/or Students who want to become a developer or debugger in the system side.
  • Anyone who works for windows application performance enhancement.
  • IHVs and OEMs who will be implementing device drivers.
  • Security researchers, government contractors, engineers involved in security and threat analysis/modelling, who need a solid understanding of key Windows internals and data structures, and the options available to monitor and extend the actions of the Windows operating system.
  • Engineers who need to understand how to design, develop, and test any embedded systems.
  • Anyone who wants to be a PC firmware debugger/developer, embedded system software debugger/developer, etc.

What's inside a computer will not be a Mystery for you anymore. Here you learn all about the hardware components or different pieces inside a computer. We'll discover what each component does and how they work together to make a computer function. You will get a fair idea about how the whole system works, how the operating system, firmware, and hardware work together.

Deep drive into C/C++ with step by step debugging. This will enable you to detection or Finding of the Bug, where it has occurred, how it is caused, Important Factors to Consider while debugging, Debuggers utilities and functions – Step-By-Step, Breakpoint.

A deep understanding of Windows operating system will enable you to debug performance issue in such a platform. Walking through the UEFI Forum's PI (Platform Initialization) spec's seven phases and explain how modules are discovered and dependencies are resolved as system hardware is initialized. You will understand several important techniques for addressing failures, such as divide and conquer, analysing data and logs.

This course is designed to be hands-on, allowing you to experiment with code.

Advanced C/C++
  • Introduction
  • Installing the required software
  • Functions & Pointers in detail
  • Structures in C/C++
  • File Handling using C/C++
  • OOPs concept Refreshment with C++
  • Dynamic memory allocation
  • Data structures Basics
  • Advanced C++ Mechanics
  • Exceptions handlings in C++
  • C++ Templates
  • STL Library
  • Source Code Debugging
  • x86 architecture basics like an overview of the instruction set, register set, and operating modes, multiprocessor initialization methods, advanced processors technology.
  • The behaviour of segmentation, how it was originally intended to be used and how it is actually used by operating systems today (both 32-bit and 64-bit OSs)
  • Interrupt service routines for both software and hardware interrupts as well as exceptions.
  • Paging in both the 32-bit environments as well as the 64-bit environments including using various page sizes.
  • What the concepts of virtualization are and the behaviour of the x86 hardware extensions for virtualization (including benefits and side-effects)
  • How PCIe is backward compatible with PCI and PCI-X
  • Definition and responsibilities of each layer in the PCIe interface, PCI Configuration Space
  • PCIe transaction types and definitions
  • PCI enumeration
  • How USB host software generates and schedules USB traffic
  • How to verify proper USB packet protocol for all USB transfer types
  • USB Enumeration
  • Details regarding the implementation and operation of the Extensible Host Controller Interface (xHCI)
  • How to initialize and configure an xHC for runtime operation
  • The behaviour and purpose of all the data structures (PCI config space, MMIO space, and system memory structures) associated with an xHC including how to explore them on a live running system
  • The events that occur during an attach and remove event
  • To evaluate and explain the activity captured by a protocol analyser when a High-Speed device is hot plugged into both full-speed and high-speed ports
  • The requirements for implementing an endpoint device.
  • How to implement HID and Mass Storage class devices.
  • The operation of both full-speed and high-speed USB hubs.
  • Features of Type-C and Power Delivery
  • Advantages of Type-C Cables
  • Motivations for USB 3.0
  • Transfer Types for USB
  • Bulk Streaming
  • Link Error Detection and Handling
  • USB Configuration
  • USB 3.0 Hubs
  • Different storage SATA, MMC, SDIO, UFS
  • On-board communication protocol I2C, eSPI, LPC, SPI (Specification)
Firmware Fundamentals (Legacy BIOS and UEFI)
  • What, why, and where is “firmware?”
  • BIOS – The x86 legacy firmware architecture
  • Limitations Legacy BIOS places on modern systems, BIOS Post Codes
  • System Boot Process
  • Initialization of Processor, Memory and other Peripheral devices
  • Option ROMs
  • SMBIOS Details
  • Advanced Configuration and Power (ACPI) specification, ASL
  • Power Management
  • UEFI Forum’s Platform Initialization, Intel’s Framework, and UEFI (Unified Extensible Firmware Interface)
  • Secure Boot
Operating System:
  • Introduction
  • Windows operating system basic concept
  • Multiple useful Tools for viewing Windows Internals
  • Windows System Architecture Basics
  • Processes, jobs, and Thread basic mechanism.
  • Memory management
  • I/O management and Windows Drivers
  • System Calls
  • Security
Debugging Techniques
  • Introduction
  • Debugger overview
  • Advanced debugging techniques
  • Symbols
  • Windbg Hands-on
  • Debugger Command Programs
  • Debugger Extensions
  • Remote Debugging
  • UEFI Application Debugging
  • EFI Shell Debugging
JTAG
  • Introduction
  • On-Chip Debugging Tool Suite Basics
  • Applications of the Virtual JTAG IP Core
  • JTAG Protocol
  • JTAG Circuitry Architecture
  • System-Level Debugging Infrastructure
  • Virtual JTAG Interface Description
LAB:
  • LEARN and PRACTICE - 30+ (Thirty) complete, simple, beginner-friendly C, C++ Programs HANDS-ON
  • Learn step-by-step and code debugging in depth with some sample project.
  • Finding a bug and observing the failure.
  • Debugging using different debuggers.
  • Debugging with different tools and deep drive into windows internals using multiple tools
  • Collects the events contained in several logs and synchronise them.
  • The training flow will be an assignment driven model so that participants can develop an expert level debugger.
IDE:
  • Visual Studio 2017 (community version), Intel System Studio.
Tools:
  • Windbg, RW-Everything utility, Dediprog Programmer, WDK, Sysinternals tools, ETW, VMware or Virtual Box.

Any Graduate/Engineering graduate /Post Graduate/Post Engineering graduate from Electronics and Computer Science background who have secured 60% marks throughout their academics can join this course. You should possess Intermediate knowledge in C and C++ programming as an eligibility criteria to join this course. However if you do not know C & C++programming, you can join our certification course and later can be upgraded to this course.

Duration of the this course is 16 weeks includes lab sessions.

Yes, we do provide crash course on selected modules depending upon candidates’ requirement.

System Debugging is a necessary evolution of traditional debugging methods in order to find and understand complex bugs. Usually to find the root cause of a field failure, the information available (log data) needs to be thoroughly examined. This process is mostly a manual and time-consuming task requires expert knowledge to fix the bugs as there are lot of bottlenecks. To be able to efficiently debug a system level fault, a good understanding of the entire system is required which makes it difficult for most engineers to use the information available in system logs effectively. So the industry pays a very handsome salary for the system debugger and every industry needs such professionals.

Most of the product based companies, semiconductor companies, Service based companies works on PC,Mobile or any other embedded devices need people with such debugging skills.

Salary differs in each company based on the Technical skills and domain experience. However the average pay for a system level debugger  is Rs 357,537 per year.

Our aim is to help people to get their first job by plugging the skill gap in the industry. We want to give personal attention to each of the trainee and hence we limit all our batches to maximum of 15 numbers.

Our placement wing will help you with 100% placement assistance. We provide assistance for 6 months from the course completion date.

Our course fees are very competitive. Fee for this course is Rs. 40,000 + GST 18%.

Yes. You can pay in maximum of 2 instalments. 50% at the time of registration and remaining 50% within month of course commencement.

Of course yes. eTech prowess provides the course completion certificates along with the key skill sets that candidates have learnt during the Training sessions.

If you refer any of your friends you will get Rs. 3000 as referral bonus per candidate.