Back to Browse

Practical Debugging at Scale Part 18: strace

539 views
Sep 4, 2023
7:01

Learn about strace, a tool that has become a popular troubleshooting tool in Linux systems. strace lets us debug binary application issues by tracking all the system calls made by an application and understanding what it does under the hood. Learn to debug like a senior developer with this comprehensive debugging course. To learn more check out https://debugagent.com/ This video is a part of the third module covering debugging tools. Is your debugging session limited to the IDE? What do you do when there's a dead end or the problem only happens in the release version of your application? That's where external tooling can take you to the next level as a developer. By leveraging these tools and techniques you will gain access to the secret weapon of senior developers and consultants. This will make you a better developer and a happier one. Stop treating debugging like throwing out the garbage and treat it as a skill that you should improve. In the following modules we cover: * Debugging Theory - Ever spent all night on a bug only to find out it was a "stupid" thing that you missed in the beginning? We all have! There's a systematic process for tracking an issue that reduces the chance of this recurring. * Code - This isn't a course on coding. You should know how to do that before you start. But how do you write code that's easier to debug? Code that fails in predictable ways. Code whose failures are easy to understand and track. Code that doesn't drain your bank account because it overuses cloud resources. * Kubernetes - Not only is Kubernetes hostile to debugging, it does that on a scale that creates its own set of problems. Add the complexity of production debugging to the mix and we've got a new set of problems. * Serverless - Kubernetes has an ephemeral state problem, serverless takes that problem to a completely new level. * Fullstack - As we chase a bug we need to venture outside our comfort zone. To tiers and tools we might not be as comfortable with. In this module we'll discuss debugging the frontend and the database to create a tongs motion around the bug. * Observability - Production debugging is really about observability. Yet so many of us leave these tools to the DevOps team. In this module we'll cover these tools from a developer perspective. The full course includes more than 5 hours of video material. 00:00 Introduction 00:25 strace != dtrace 01:09 Based on ptrace 01:58 Not for Production Use 02:32 Basic Usage 03:12 Open System Call 04:21 Focusing on a Specific System Call 04:53 strace and Java 05:27 Heap Allocations 05:55 Threading and Loom 06:16 Final Word

Download

0 formats

No download links available.

Practical Debugging at Scale Part 18: strace | NatokHD