I. Developing Wine

Table of Contents
1. Compiling Wine
1.1. Compiling Wine
1.1.1. Tools required
1.1.2. Space required
1.1.3. Common problems
1.1.4. OS specific issues
2. Debugging Wine
2.1. Introduction
2.1.1. Processes and threads: in underlying OS and in Windows
2.1.2. Wine, debugging and WineDbg
2.2. WineDbg's modes of invocation
2.2.1. Starting a process
2.2.2. Attaching
2.2.3. On exceptions
2.2.4. Interrupting
2.2.5. Quitting
2.3. Using the Wine Debugger
2.3.1. Crashes
2.3.2. Program hangs, nothing happens
2.3.3. Program reports an error with a Messagebox
2.3.4. Disassembling programs:
2.3.5. Sample debugging session:
2.3.6. Debugging Tips
2.3.7. Some basic debugger usages:
2.4. Useful memory addresses
2.5. Configuration
2.5.1. Registry configuration
2.5.2. WineDbg configuration
2.6. WineDbg Command Reference
2.6.1. Misc
2.6.2. Flow control
2.6.3. Breakpoints, watch points
2.6.4. Stack manipulation
2.6.5. Directory & source file manipulation
2.6.6. Displaying
2.6.7. Disassembly
2.6.8. Information on Wine's internals
2.6.9. Memory (reading, writing, typing)
2.6.10. Expressions
2.6.11. Debug channels
2.7. Other debuggers
2.7.1. GDB mode
2.7.2. Using other Unix debuggers
2.7.3. Using other Windows debuggers
2.7.4. Main differences between winedbg and regular Unix debuggers
2.8. Limitations
3. Documenting Wine
3.1. Writing Wine API Documentation
3.2. The Wine DocBook System
3.2.1. Writing Documentation with DocBook
3.2.2. The SGML Environment
3.2.3. PSGML Mode in Emacs
3.2.4. The DocBook Build System
4. Writing Conformance tests
4.1. Introduction
4.2. What to test for?
4.3. Why have both Perl and C tests?
4.4. Running the tests on Windows
4.5. Inside a C test
4.6. Handling platform issues
5. Submitting Patches
5.1. Patch Format
5.2. Quality Assurance
6. Internationalization
6.1. Adding New Languages
7. Tools
7.1. bin2res
7.1.1. bin2res
7.1.2. Create binary files from an .rc file
7.1.3. Create a .rc file from binaries
7.1.4. output of bin2res