This is part two in a series of articles which describe how to debug C/C++ applications from Mac OS X which are running on a remote Linux machine (possibly a virtual machine). This part describes how to configure Eclipse for remote debugging.
In this post I want to share some impressions from Tallinn, Estonia. Tallinn has been the host city for the European Joint Conferences on Theory and Practice of Software (ETAPS) conference this year. At the conference, my colleagues and I published and presented two publications I also want to advertise here: “Design and Analysis of Cloud-Based Architectures with KLAIM and Maude” at the 9th International Workshop on Rewriting Logic and its Applications (WRLA 2012) and “Stable Availability under Denial of Service Attacks through Formal Patterns” at the 15th International Conference on Fundamental Approaches to Software Engineering (FASE 2012).
Euler Problem 15 asks: “Starting in the top left corner of a 2 × 2 grid, there are 6 routes (without backtracking) to the bottom right corner. How many routes are there through a 20 × 20 grid?”
It is well known that the solution for a n × n grid corresponds to the nth number of the 2nth row of Pascal’s triangle, e.g., for n = 20 the solution is 137846528820. However, we want to solve this problem by pure counting and formalize our solutions in C++ and Maude. We will see that naïve approaches will most likely fail to compute the solutions for n = 20 efficiently and that Euler Problem 15 is part of a class of problems that can greatly benefit from memoization.
This series of articles describes how to use GDB on Mac OS X to debug C/C++ applications targeted for and running on a remote Linux machine (possibly a virtual machine) equipped with gdbserver. Moreover, I will explain how to configure Eclipse to make debugging a little nicer.
This first part explains how to configure GDB for the Linux target environment when compiled on Mac OS X. This will allow you to remotely debug a Linux executable in the Linux Elf binary format with the debugger running on Mac OS X.