<commit_before>![](https://dl.dropboxusercontent.com/u/5205843/prodbg_logo.png)
======

[![Join the chat at https://gitter.im/emoon/ProDBG](https://badges.gitter.im/emoon/ProDBG.svg)](https://gitter.im/emoon/ProDBG?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

ProDBG is a new debugger under development that will support a variety of targets and operating systems. Currently it's in very early development and primary focusing on Mac as primary target.
Right now lots of the code are being restructured and rewritten in [Rust](https://www.rust-lang.org). There is a blog post about the move to Rust over [here](http://prodbg.com/ProDBG-switches-to-Rust)

I did a presentation on 2014-11 about the project for the awesome rendering team at Frostbite/EA and it can be viewed [here](https://dl.dropboxusercontent.com/u/5205843/ProDBG-Presentation.pdf) (notice that some of the information is a bit out-dated by now)

## Build status

[![Travis Status](https://travis-ci.org/emoon/ProDBG.svg?branch=master)](https://travis-ci.org/emoon/ProDBG)
[![Appveyor status](https://ci.appveyor.com/api/projects/status/ne1jeu7t8aba5nok?svg=true)](https://ci.appveyor.com/project/emoon/prodbg)

### Status

As the rewrite of ProDBG is currently under way no debugging is working currently and just some basic UI is up and running.

## Cloning the repository

The ProDBG repository contains submodules. Clone it with git clone --recursive. If you forgot, run git submodule update --init --recursive.

## How to compile and build

Latest stable version of **Rust** (1.8+) needs to be present on the system and can be downloaded from [here](https://www.rust-lang.org/downloads.html) and on Windows the 64-bit **MSVC ABI** version is required which can be found here https://www.rust-lang.org/downloads.html#win-foot

ProDBG uses Tundra to build the project. You can get and build by running the following:
* git clone https://github.com/emoon/tundra.git
* cd tundra
* make
* sudo make install

## Mac

Building the code on Mac requires that Clang is installed on your system. The easiest way to do this is to get Xcode and install the commandline tools.

After doing that open a terminal and run ```scripts/mac_build_debug.sh``` and you should have an executable that you can open in ```t2-output/macosx-clang-debug-default/ProDBG.app/Content/MacOS/prodbg```

## Windows

On Windows Visual Studio 2013 or later is required (2012 or earlier will not work as parts of the code uses C99) With VS 2013 installed do this:

Open a cmd window and first run ```scripts\vcvarsx86_amd64.bat``` and then ```scripts\win64_build_debug.cmd``` and you will have an executable in ```t2-output\win64-msvc-debug-default\prodbg.exe```

## Linux

Building the code on Linux will require some prerequisites to be installed. Which prerequisites depends on the distribution being used.

For Ubuntu you can use the following:
```
sudo apt-get update && sudo apt-get install -y clang-3.5 libx11-dev libgl1-mesa-dev g++-4.9
sudo ln -s /usr/lib/llvm-3.5/bin/clang /usr/bin/clang
sudo ln -s /usr/lib/llvm-3.5/bin/clang++ /usr/bin/clang++
tundra2 linux-gcc-debug
```

To run the compiled program<commit_msg>Use inline code markup for commands. Change code block to code markup if it was used for inline commands.<commit_after>![](https://dl.dropboxusercontent.com/u/5205843/prodbg_logo.png)
======

[![Join the chat at https://gitter.im/emoon/ProDBG](https://badges.gitter.im/emoon/ProDBG.svg)](https://gitter.im/emoon/ProDBG?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

ProDBG is a new debugger under development that will support a variety of targets and operating systems. Currently it's in very early development and primary focusing on Mac as primary target.
Right now lots of the code are being restructured and rewritten in [Rust](https://www.rust-lang.org). There is a blog post about the move to Rust over [here](http://prodbg.com/ProDBG-switches-to-Rust)

I did a presentation on 2014-11 about the project for the awesome rendering team at Frostbite/EA and it can be viewed [here](https://dl.dropboxusercontent.com/u/5205843/ProDBG-Presentation.pdf) (notice that some of the information is a bit out-dated by now)

## Build status

[![Travis Status](https://travis-ci.org/emoon/ProDBG.svg?branch=master)](https://travis-ci.org/emoon/ProDBG)
[![Appveyor status](https://ci.appveyor.com/api/projects/status/ne1jeu7t8aba5nok?svg=true)](https://ci.appveyor.com/project/emoon/prodbg)

### Status

As the rewrite of ProDBG is currently under way no debugging is working currently and just some basic UI is up and running.

## Cloning the repository

The ProDBG repository contains submodules. Clone it with `git clone --recursive`. If you forgot to clone it recursively the first time, from within the cloned repository run `git submodule update --init --recursive`.

## How to compile and build

Latest stable version of **Rust** (1.8+) needs to be present on the system and can be downloaded from [here](https://www.rust-lang.org/downloads.html) and on Windows the 64-bit **MSVC ABI** version is required which can be found here https://www.rust-lang.org/downloads.html#win-foot

ProDBG uses Tundra to build the project. You can get and build by running the following:
* `git clone https://github.com/emoon/tundra.git`
* `cd tundra`
* `make`
* `sudo make install`

## Mac

Building the code on Mac requires that Clang is installed on your system. The easiest way to do this is to get Xcode and install the commandline tools.

After doing that open a terminal and run `scripts/mac_build_debug.sh` and you should have an executable that you can open in `t2-output/macosx-clang-debug-default/ProDBG.app/Content/MacOS/prodbg`

## Windows

On Windows Visual Studio 2013 or later is required (2012 or earlier will not work as parts of the code uses C99) With VS 2013 installed do this:

Open a cmd window and first run `scripts\vcvarsx86_amd64.bat` and then `scripts\win64_build_debug.cmd` and you will have an executable in `t2-output\win64-msvc-debug-default\prodbg.exe`

## Linux

Building the code on Linux will require some prerequisites to be installed. Which prerequisites depends on the distribution being used.

For Ubuntu you can use the following:
```
sudo apt-get update && sudo apt-get install -y clang-3.5 libx11-dev libgl1-mesa-dev g++-4.9
sudo ln -s /usr/lib/llvm-3.5/bin/clang /usr/bin/clang
sudo ln -s /usr/lib/llvm-3.5/bin/clang++ /usr/bin/clang++
tundra2 linux-gcc-debug
```

To run the compiled program
{'fraction_non_alphanumeric': 0.10402325225638673, 'fraction_numerical': 0.01958084748355515, 'mean_word_length': 4.480301760268231, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 26, 'lorem ipsum': 0, 'www.': 6, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3968402', 'n_tokens_mistral': 2157, 'n_tokens_neox': 2009, 'n_words': 765}