mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-03-29 22:20:48 +00:00
This used to crash so it was removed. However I think this is a cruicial feature. This is the only way to observe the stack-frames, registers and disasm around the PC in a user friendly way. The reason this caused crashes was that we got a reference to a std::vector and iterated over it in one thread while another thread could modify it (and thereby invalidating the iterators). The way I "fixed" it is to just copy the `std::vector<std::shared_ptr<...>>` and iterate over the copy. This obviously has some overhead (locking the shared_ptr counters and incrementing them). It also allows entities other than the Thread manager to keep the Thread objects frome being deleted but that should not be a problem.
RPCS3
An open-source PlayStation 3 emulator/debugger written in C++.
You can find some basic information in the FAQ. For discussion about this emulator and PS3 emulation please visit the official forums.
Development
If you want to contribute please take a took at the Coding Style, Roadmap and Developer Information pages. You should as well contact any of the developers in the forum in order to know about the current situation of the emulator.
Dependencies
Windows
Linux
- Debian & Ubuntu:
sudo apt-get install libopenal-dev libwxgtk3.0-dev build-essential libglew-dev
Mac OSX
- Install with Homebrew:
brew install glew wxwidgets
- Remove '-framework QuickTime' from '_ldflags' in /usr/local/bin/wx-config
Building
To initialize the repository don't forget to execute git submodule update --init
to pull the wxWidgets source.
- Windows: Install Visual Studio 2013, Cmake, Python and select Add in the PATH variable for both. Then open the .SLN file, and press Build > Rebuild Solution.
- Linux & Mac OSX:
cd rpcs3 && cmake CMakeLists.txt && make && cd ../
Then run withcd bin && ./rpcs3
Support
Languages
C++
91.9%
C
5.5%
Self
1.1%
GLSL
0.8%
CMake
0.3%
Other
0.3%