Coder Social home page Coder Social logo

glsl-debugger / glsl-debugger Goto Github PK

View Code? Open in Web Editor NEW
468.0 33.0 78.0 6.06 MB

GLSL source level debugger.

Home Page: http://glsl-debugger.github.io/

License: Other

C++ 55.60% C 36.70% Shell 0.02% Perl 1.00% CMake 0.38% Lex 0.75% Yacc 4.80% GLSL 0.09% LLVM 0.36% Roff 0.13% Raku 0.17%

glsl-debugger's Introduction

GLSL-Debugger

Build Status

GLSL source level debugger.

This is the Open Source public release of the project originally known as glslDevil ( http://www.vis.uni-stuttgart.de/glsldevil/ ), by Thomas Klein, Magnus Strengert and Thomas Ertl.

Status and important notes

There is currently no active development and no active maintenance.

Please expect problems and expect that you will need to touch some code in order to fix them. We are around to help though. Historically, the source code became open source after being beginning its life as part of a university project. After that, the community integrated CMake, made the project build on Windows, current Linux systems, partially on OSX and integrated Mesa as GLSLCompiler. Most of the development was done on Linux. Hence, Linux is probably the best choice in terms of debugger functionality and build difficulties. If you experience any issues, please check the github issue tracker and file a new ticket if need be.

Building

The only available build system is cmake. Example build steps:

mkdir Build && cd Build
cmake ..\
make

Cmake may generate files for big number of make utilities, please check the cmake documentation for further information.

It is recommended to do out-of-source build.

Windows building requires additional dependencies installed:

On osx build was not tested, but cmake files may be used.

GLSL support

Old implementation of GLSLCompiler support GLSL up to 1.20. Support of newer versions is avaliable by using mesa-based GLSLCompiler implementation. To enable it, cmake option USE_MESA must be set. Use -DUSE_MESA=ON as argument to cmake command to do so. Mesa currently support GLSL up to version 3.30, it will be extended in future. Please note that mesa-based compiler is disabled by default yet and consider it as alternative, that may have bugs. It will replace original compiler after some testing.

Also new compiler can be build with tests by passing TESTS=ON option to cmake.

Short-term goals

We need to test the build system and the source code more thoroughly. Hence, bugfixing and testing should be a top priority for now.

Long-term goals

  • Replace Windows Detours dependency with apiTrace, glIntercept or EasyHook. Replaced with mhook.
  • Check cmake-to-VS generation and fix it if needed.
  • Support OSX.
  • Improve GLSL language grammar support to incorporate newer dialects including switch/case.
  • Support OpenGL contexts for newer versions of OpenGL.
  • Decouple the debugger logic from the UI (allow remote debugging)

Contribute

We are looking for people who have an interest in this tool's capability to bring this project back to life and move it forward, so get in touch, check out the code, try it out, fix some things and push some changes!

Discussion is at [email protected] https://groups.google.com/forum/?fromgroups#!forum/glsl-debugger-development

IRC channel at freenode: #glsl-debugger

glsl-debugger's People

Contributors

adrianbroher avatar eseraygun avatar flyncode avatar jorditorres avatar mathstuf avatar napcode avatar siranthony avatar stativ avatar tsdgeos avatar xenonofarcticus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

glsl-debugger's Issues

Can't configure with CMake on Windows.

Hello, it would appear the latest commit (cb9e0d6) no longer configures with cmake on Windows.

I get

CMake Error at glsldb/DebugLib/CMakeLists.txt:137 (include_directories): include_directories given empty-string as include directory. CMake Error at glsldb/DebugFunctions/CMakeLists.txt:18 (include_directories): include_directories given empty-string as include directory. CMake Error at glsldb/CMakeLists.txt:35 (include_directories): include_directories given empty-string as include directory.

Removing the quotation that were introduced last commit makes it configure fine.

GL_INVALID_VALUE on shader debugging

It seems it occurs when glBegin is debugging draw call. Probably the main reason - it is cannot be repeated again after shader switch. We need working replay system to do so.

Cannot debug program with Python interpreter

Hi,

I'm trying to debug a Python program with this tool, but it seems there's a problem on Linux when it tries to load a module, I get this error :

checking debuggee status...
Traceback (most recent call last):
  File "/home/cedric/Desktop/series.py", line 1, in <module>
    import math
SystemError: dynamic module not initialized properly

I think it's a dynamic linker issue, but I don't know what could be missing... Any idea ?
Thank you

Problems building on Windows with VS2015

I followed all steps described in the documentation, but I still get errors while trying to compile on windows with VS2015, freeglut, Qt 4.7.4, win_flex_bison. Could you please post some binaries for Win x64, so that we can test before trying to build?

Next are few lines of the errors I get (all are the same - seems there is a problem with Display not being defined):

2>------ Build started: Project: glsldebug, Configuration: Release x64 ------
2>  libglsldebug.c
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3016): error C2143: syntax error: missing '{' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3016): error C2143: syntax error: missing ')' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3016): error C2059: syntax error: ','
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3016): error C2059: syntax error: ')'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3017): error C2143: syntax error: missing ')' before '__cdecl'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3017): error C2143: syntax error: missing '{' before '__cdecl'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3017): error C2059: syntax error: ')'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3017): error C2143: syntax error: missing ')' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3017): error C2165: 'left-side modifier': cannot modify pointers to data
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3017): error C2143: syntax error: missing '{' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3017): error C2059: syntax error: ','
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3018): error C2143: syntax error: missing ')' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3018): error C2143: syntax error: missing '{' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3018): error C2059: syntax error: ','
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3018): error C2059: syntax error: ')'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3019): error C2143: syntax error: missing ')' before '__cdecl'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3019): error C2143: syntax error: missing '{' before '__cdecl'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3019): error C2059: syntax error: ')'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3019): error C2143: syntax error: missing ')' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3019): error C2165: 'left-side modifier': cannot modify pointers to data
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3019): error C2143: syntax error: missing '{' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3019): error C2059: syntax error: ','
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3020): error C2143: syntax error: missing ')' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3020): error C2143: syntax error: missing '{' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3020): error C2059: syntax error: ','
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3020): error C2059: syntax error: ')'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3021): error C2143: syntax error: missing ')' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3021): error C2143: syntax error: missing '{' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3021): error C2059: syntax error: ','
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3021): error C2059: syntax error: ')'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3022): error C2143: syntax error: missing ')' before '__cdecl'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3022): error C2143: syntax error: missing '{' before '__cdecl'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3022): error C2059: syntax error: ')'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3022): error C2143: syntax error: missing ')' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3022): error C2165: 'left-side modifier': cannot modify pointers to data
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3022): error C2143: syntax error: missing '{' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3022): error C2059: syntax error: ','
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3023): error C2143: syntax error: missing ')' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3023): error C2143: syntax error: missing '{' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3023): error C2059: syntax error: ','
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3023): error C2059: syntax error: ')'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3024): error C2143: syntax error: missing ')' before '__cdecl'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3024): error C2143: syntax error: missing '{' before '__cdecl'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3024): error C2059: syntax error: ')'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3024): error C2143: syntax error: missing ')' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3024): error C2165: 'left-side modifier': cannot modify pointers to data
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3024): error C2143: syntax error: missing '{' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3024): error C2059: syntax error: ','
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3025): error C2143: syntax error: missing ')' before '__cdecl'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3025): error C2143: syntax error: missing '{' before '__cdecl'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3025): error C2059: syntax error: ')'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3025): error C2143: syntax error: missing ')' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3025): error C2165: 'left-side modifier': cannot modify pointers to data
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3025): error C2143: syntax error: missing '{' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3025): error C2059: syntax error: ','
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3026): error C2143: syntax error: missing ')' before '__cdecl'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3026): error C2143: syntax error: missing '{' before '__cdecl'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3026): error C2059: syntax error: ')'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3026): error C2143: syntax error: missing ')' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3026): error C2165: 'left-side modifier': cannot modify pointers to data
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3026): error C2143: syntax error: missing '{' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3026): error C2059: syntax error: ','
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3027): error C2143: syntax error: missing ')' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3027): error C2143: syntax error: missing '{' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3027): error C2059: syntax error: ','
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3027): error C2059: syntax error: ')'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3028): error C2143: syntax error: missing ')' before '__cdecl'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3028): error C2143: syntax error: missing '{' before '__cdecl'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3028): error C2059: syntax error: ')'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3028): error C2165: 'left-side modifier': cannot modify pointers to data
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3029): error C2143: syntax error: missing ')' before '__cdecl'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3029): error C2143: syntax error: missing '{' before '__cdecl'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3029): error C2059: syntax error: ')'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3029): error C2165: 'left-side modifier': cannot modify pointers to data
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3032): error C2122: 'int': prototype parameter in name list illegal
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3033): error C2143: syntax error: missing ')' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3033): error C2143: syntax error: missing '{' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3033): error C2059: syntax error: ','
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3033): error C2059: syntax error: ')'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3034): error C2143: syntax error: missing ')' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3034): error C2143: syntax error: missing '{' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3034): error C2059: syntax error: ','
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3034): error C2059: syntax error: ')'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3035): error C2143: syntax error: missing ')' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3035): error C2143: syntax error: missing '{' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3035): error C2059: syntax error: ','
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3035): error C2059: syntax error: ')'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3036): error C2143: syntax error: missing '{' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3037): error C2143: syntax error: missing '{' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3037): error C2143: syntax error: missing ')' before '*'
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3037): error C2059: syntax error: ','
2>D:\Downloads\GLSL-Debugger\binVC14\glsldb\DebugLib\generated/functionPointerTypes.inc(3037): error C2059: syntax error: ')'

Hangs when testing JOGL application

Hangs debugging Terminal Recall project.

To reproduce:
git pull https://github.com/jtrfp/terminal-recall.git
cd terminal-recall
mvn clean install
cd path-to-glsl-devil
./glsldb
[Open Program...]
Program: /usr/bin/java
Arguments: -Dorg.jtrfp.trcl.bypassConfigure=true -jar /home/your-username-here/path-to-terminal-recall/target/RunMe.jar
Working Directory: /home/your-username-here/path-to-terminal-recall/target/
[OK]
[Start Program (F5)]
Console output is:
debuggee process was stopped by SIGSTOP 19
[INFO ]::mainWindow.cpp:setRunLevel()::3196: new level: 2 glXQueryExtension
[INFO ]::mainWindow.cpp:setRunLevel()::3196: new level: 3 glXQueryExtension

GL Trace shows:
Program Start
glXQueryExtension(0x7f7a347583f0, (nil), (nil))

[Jump To Next Draw Call (F7)]
More console output:
2015-06-19 00:17:22 [INFO ]::mainWindow.cpp:setRunLevel()::3196: new level: 5 glXQueryExtension
send: DBG_CALL_ORIGFUNCTION
checking debuggee status...

...glslDevil hangs, won't respond to mouse clicks.

Always crashes

I run my program aaaannnd it crashes.... sefaults. I have no idea why... just thought I should say that. I would love to get this project working again.

Unhandled exception at 0x77c22d37 in glsldb.exe: 0xC0000005: Access violation reading location 0x0ebf41f4.

When using glsldb on windows I've achieved an unhandled exception when debugging one of my projects:

Unhandled exception at 0x77c22d37 in glsldb.exe: 0xC0000005: Access violation reading location 0x0ebf41f4.

I'm using on windows 7, Visual Studio 2010 professional and QT 4.8.5. Not sure if the errors occur because i'm using wrong versions...

trimmed callstack with a few '...' to shorten it:

    ntdll.dll!77c22d37()    
    [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] 
    ntdll.dll!77c22ce8()    
    kernel32.dll!7541c3c4()     
    msvcr100.dll!free(void * pBlock)
    glsldb.exe!003885af()   
    glsldb.exe!0037c09a()   
    glsldb.exe!003cca37()   
    QtCored4.dll!QMetaObject::metacall(QObject * object, QMetaObject::Call cl, int idx, void * * argv)  Line 246
    ...
    QtGuid4.dll!QtWndProc(HWND__ * hwnd, unsigned int message, unsigned int wParam, long lParam)  Line 1709 + 0xc bytes
    user32.dll!75e5c4e7()   
    ...
    user32.dll!75e5cc70()   
    QtCored4.dll!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags)  Line 814
    ...
    QtGuid4.dll!QApplication::exec()  Line 3824
    glsldb.exe!0034f99c()   
    ntdll.dll!77c2cd10()    
    msvcr100.dll!_unlock(int locknum)  Line 375
    msvcr100.dll!_unlockexit()  Line 785 + 0x7 bytes
    msvcr100.dll!_onexit(int (void)* func)  Line 90 + 0x5 bytes

Also it seems it seems to fail to find debugging information for the generated executable. It says the binary was not built with debug information so I think it won't show me exactly where the exception ocurred.

On a side note in case anyone is having glew linker errors, I've solved mine by adding glew32.lib to the linker -> input -> additional dependencies and also added my lib folder to vc++ directories. I did introduced my glew directories but it's linker still needed to be manually added after generation. Maybe it has something with:

WARNING: Target "glsldb" requests linking to directory "C:\toolkits\libs".  Targets may link only to libraries.  CMake is dropping the item.

C:\toolkits\libs is my library direcctory

And also thanks for listening and solving the issues I posted so far.

Visual Studio 2013, repeat definition of round

in curveView.cpp

# ifdef _WIN32

/* C99 sucks */
inline static int round(double x) {
int y;
y = (int)(x + 0.5);
while ((double)y < x - 0.5) y++;
while ((double)y > x + 0.5) y--;
return y;
}

endif /* _WIN32 */

This causes an error with Visual Studio 2013 which already has round defined, and is mostly c++11 compatible.

Buffer Objects data view

It will be great to be able to view videocard memory allocated by gl buffer objects, like in qapitrace, with better controls of this memory block, maybe. It is possible to catch & save buffer targets for particular gl calls, only one more qt-view needed and some addition glMapBuffer, glUnmapBuffer calls during buffer watch.
I'll try to implement this in future, when done with mesa compiller, I think. This ticket in master for some proposals, probably.

Build fails with "use of undeclared identifier 'GL_MAX_COMPUTE_LOCAL_INVOCATIONS'

I'm building GLSL-Debugger on Ubuntu 13.10 x64 and Make fails with the following error:

Scanning dependencies of target glsldb
[ 52%] Building C object glsldb/CMakeFiles/glsldb.dir/mmath.c.o
[ 52%] Building CXX object glsldb/CMakeFiles/glsldb.dir/editCallDialog.cpp.o
In file included from /home/kaixiong/Documents/sources/GLSL-Debugger/glsldb/editCallDialog.cpp:58:
/home/kaixiong/Documents/sources/GLSL-Debugger/glsldb/DebugLib/generated/glenumerants.h:1793:3: fatal error: use of undeclared identifier 'GL_MAX_COMPUTE_LOCAL_INVOCATIONS'
        {GL_MAX_COMPUTE_LOCAL_INVOCATIONS, "GL_MAX_COMPUTE_LOCAL_INVOCATIONS"},
         ^
1 error generated.
make[2]: *** [glsldb/CMakeFiles/glsldb.dir/editCallDialog.cpp.o] Error 1
make[1]: *** [glsldb/CMakeFiles/glsldb.dir/all] Error 2
make: *** [all] Error 2

I have the NVidia 8800GT card (which does not support compute shaders) and run version 331 of NVIDIA's proprietary driver. I'm also using the Clang 3.4 compiler.

Can't debug forking applications

If a debuggee tries to fork(2), GLSL-Debugger thinks that it exited, although I think it's the child which had. Here's the console output of my Qt4 application when KDE4 Oxygen style is in use:

2016-06-26 18:42:39 [INFO ]::glsldb.cpp:main()::380: Application startup.
2016-06-26 18:42:39 [INFO ]::FunctionsMap.cpp:initialize()::21: 2624 registered GL-Functions
Absolute path to debugger executable is: /home/ruslan/src/GLSL-Debugger/build/bin/glsldb
Path to debug library is: /home/ruslan/src/GLSL-Debugger/build/bin/../lib/libglsldebug.so
Path to debug functions is: /home/ruslan/src/GLSL-Debugger/build/bin/../lib/plugins
Path to libdlsym is: /home/ruslan/src/GLSL-Debugger/build/bin/../lib/libdlsym.so
2016-06-26 18:42:39 [INFO ]::mainWindow.cpp:setRunLevel()::3196: new level: 1 
env dbglib: "/home/ruslan/src/GLSL-Debugger/build/bin/../lib/libglsldebug.so"
env shmid: "523370523"
env dbgfctns: "/home/ruslan/src/GLSL-Debugger/build/bin/../lib/plugins"
libdlsym: "/home/ruslan/src/GLSL-Debugger/build/bin/../lib/libdlsym.so"
env dbglvl: "6"
env dbglogdir: ""
debuggee executes build/diffraction-patterns
debuggee process pid: 17677
waiting for debuggee to respond...
checking debuggee status...
debuggee process was stopped by SIGTRAP 5
sending continue
checking debuggee status...
debuggee process was stopped by signal 17: Child exited
2016-06-26 18:42:41 [INFO ]::mainWindow.cpp:setRunLevel()::3196: new level: 1 

Here's what I have when I catch fork syscall in GDB:

(gdb) catch fork
Catchpoint 1 (fork)
(gdb) r
Starting program: /home/ruslan/myprogs/diffraction-patterns/build/diffraction-patterns 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
Qt: gdb: -nograb added to command-line options.
         Use the -dograb option to enforce grabbing.

Catchpoint 1 (forked process 20127), 0xffffe430 in __kernel_vsyscall ()
(gdb) bt
#0  0xffffe430 in __kernel_vsyscall ()
#1  0xf6a3709c in __libc_fork () at ../nptl/sysdeps/unix/sysv/linux/i386/../fork.c:131
#2  0xf6cea4d5 in __fork () at ../nptl/sysdeps/unix/sysv/linux/pt-fork.c:26
#3  0xf108946c in _read_subprocess_line_argv () from /usr/lib/libdbus-1.so.3
#4  0xf10899a8 in _dbus_get_autolaunch_address () from /usr/lib/libdbus-1.so.3
#5  0xf107b880 in _dbus_transport_new_for_autolaunch () from /usr/lib/libdbus-1.so.3
#6  0xf107b936 in _dbus_transport_open_autolaunch () from /usr/lib/libdbus-1.so.3
#7  0xf107ba30 in _dbus_transport_open () from /usr/lib/libdbus-1.so.3
#8  0xf105e09b in connection_try_from_address_entry () from /usr/lib/libdbus-1.so.3
#9  0xf105e218 in _dbus_connection_open_internal () from /usr/lib/libdbus-1.so.3
#10 0xf105efb7 in dbus_connection_open_private () from /usr/lib/libdbus-1.so.3
#11 0xf105b378 in internal_bus_get () from /usr/lib/libdbus-1.so.3
#12 0xf105b492 in dbus_bus_get_private () from /usr/lib/libdbus-1.so.3
#13 0xf15c2b5c in q_dbus_bus_get_private (type=DBUS_BUS_SESSION, error=0xffffce00) at qdbus_symbols_p.h:101
#14 0xf15c34cb in QDBusConnection::connectToBus (type=QDBusConnection::SessionBus, name="qt_default_session_bus") at qdbusconnection.cpp:353
#15 0xf15c658b in QDBusDefaultConnection::QDBusDefaultConnection (this=0x8185778, type=QDBusConnection::SessionBus, name=0xf1618590 "qt_default_session_bus") at qdbusconnection.cpp:1108
#16 0xf15c55ea in _q_sessionBus () at qdbusconnection.cpp:1124
#17 0xf15c5826 in QDBusConnection::sessionBus () at qdbusconnection.cpp:1131
#18 0xf216bc17 in Oxygen::Style::Style (this=0x8160208) at /home/ruslan/src/kde4/4.14/kde-workspace-4.11.14/kstyles/oxygen/oxygenstyle.cpp:190
#19 0xf217c1c8 in Oxygen::StylePlugin::create (this=0x815c540, key="oxygen") at /home/ruslan/src/kde4/4.14/kde-workspace-4.11.14/kstyles/oxygen/oxygenstyle.cpp:127
#20 0xf764ba2c in QStyleFactory::create (key="Oxygen") at styles/qstylefactory.cpp:193
#21 0xf72c1bc3 in QApplication::style () at kernel/qapplication.cpp:1469
#22 0xf72c0b1d in QApplicationPrivate::initialize (this=0x80aa788) at kernel/qapplication.cpp:991
#23 0xf72c05b3 in QApplicationPrivate::construct (this=0x80aa788, dpy=0x0, visual=0, cmap=0) at kernel/qapplication.cpp:843
#24 0xf72c012f in QApplication::QApplication (this=0xffffd26c, argc=@0xffffd340: 1, argv=0xffffd3d4, _internal=17041415) at kernel/qapplication.cpp:741
#25 0x08053bb4 in main (argc=1, argv=0xffffd3d4) at ../main.cpp:30

My current workaround is to run my app with -style plastique option, but of course if the application itself needed to fork, GLSL-Debugger would be useless for it in its current state.

Segfault when debugging shader

When I click the cogwheel on the shader to debug it in the gui, the program segfaults. From what I could gather from the coredump output 1, this might be a problem with the mesa driver, but I'm not completely sure.

Mac OS X Errors

Good day,

I am trying to run glsldb on Mavericks and I get the following error when I try to open a program:

$ bin/glsldb 
2014-05-30 23:06:40 [INFO ]::glsldb.cpp:main()::378: Application startup.
2014-05-30 23:06:40 [INFO ]::FunctionsMap.cpp:initialize()::21: 2624 registered GL-Functions
executable path is /Docs/src/opengl/GLSL-Debugger/build/bin/glsldb
Absolute path to debugger executable is: /Docs/src/opengl/GLSL-Debugger/build/bin/glsldb
Path to debug library is: /Docs/src/opengl/GLSL-Debugger/build/bin/../lib/libglsldebug.dylib
Path to debug functions is: /Docs/src/opengl/GLSL-Debugger/build/bin/../lib/plugins
Path to libdlsym is: /Docs/src/opengl/GLSL-Debugger/build/bin/../lib/libdlsym.dylib
2014-05-30 23:06:40 [INFO ]::mainWindow.cpp:setRunLevel()::3198: new level: 0 
2014-05-30 23:06:48.500 glsldb[47620:507] modalSession has been exited prematurely - check for a reentrant call to endModalSession:
killing debuggee: forced2014-05-30 23:06:48 [INFO ]::mainWindow.cpp:setRunLevel()::3198: new level: 1 
killing debuggee: forcedkilling debuggee: forced~ProgramControl freeShmem()

Any ideas what could be happening?

I am using the following patch to compile:

diff --git a/GLSLCompiler/glslang/GenericCodeGen/CodeGen.cpp b/GLSLCompiler/glslang/GenericCodeGen/CodeGen.cpp
index ad89c0e..584786a 100644
--- a/GLSLCompiler/glslang/GenericCodeGen/CodeGen.cpp
+++ b/GLSLCompiler/glslang/GenericCodeGen/CodeGen.cpp
@@ -35,6 +35,7 @@
 #include <string.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <locale.h>
 #include <Include/Common.h>
 #include <Include/ShHandle.h>
 #include <Public/ShaderLang.h>
diff --git a/GLSLCompiler/glslang/Include/Common.h b/GLSLCompiler/glslang/Include/Common.h
index c5f6334..2afe26e 100644
--- a/GLSLCompiler/glslang/Include/Common.h
+++ b/GLSLCompiler/glslang/Include/Common.h
@@ -70,7 +70,7 @@
                #endif
        #else
                #ifdef GLSLDB_OSX
-                       #include <tr1/unordered_map>
+                       #include <unordered_map>
                #else
                        #include <unordered_map>
                #endif
diff --git a/glsldb/CMakeLists.txt b/glsldb/CMakeLists.txt
index 9364e12..c7205b5 100644
--- a/glsldb/CMakeLists.txt
+++ b/glsldb/CMakeLists.txt
@@ -1,6 +1,7 @@
 add_subdirectory(DebugLib)
 add_subdirectory(DebugFunctions)
 add_subdirectory(utils)
+set(CMAKE_AUTOMOC True)

 set(QT_MIN_VERSION 4.4.0)
 find_package(Qt4 REQUIRED COMPONENTS QtCore QtGui QtOpenGL)
@@ -20,14 +21,14 @@ file(GLOB SRC_C *.c)
 file(GLOB MOC_HEADERS *.qt.h)
 file(GLOB RES_FILES *.qrc)
 file(GLOB UI_FILES ui/*.ui)
-qt4_wrap_cpp(MOC_OUTFILES ${MOC_HEADERS})
+#qt4_wrap_cpp(MOC_OUTFILES ${MOC_HEADERS})
 qt4_wrap_ui(UI_OUTFILES ${UI_FILES})
 qt4_add_resources(RES_OUTFILES ${RES_FILES})

 set(SRC
        ${SRC_C}
        ${SRC_CPP}
-       ${MOC_OUTFILES}
+       ${MOC_HEADERS}
        ${UI_OUTFILES}
        ${RES_OUTFILES}
 )
@@ -42,6 +43,13 @@ if(GLSLDB_LINUX)
        set(GLSLDB_OS_DEPENDENT_INCLUDES ${X11_INCLUDE_DIR})
        set(GLSLDB_OS_DEPENDENT_LIBS ${X11_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
 endif()
+if(GLSLDB_OSX)
+       #add_definitions(-DUNIX)
+       include_directories()
+       list(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/progControlWin.cpp")
+       #set(GLSLDB_OS_DEPENDENT_INCLUDES ${X11_INCLUDE_DIR})
+       #set(GLSLDB_OS_DEPENDENT_LIBS ${X11_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+endif()
 if(GLSLDB_WIN)
        set(GLSLDB_OS_DEPENDENT_INCLUDES
                "${CMAKE_CURRENT_SOURCE_DIR}/../GLSLCompiler/glslang/OSDependent/Windows"
diff --git a/glsldb/glScatter.cpp b/glsldb/glScatter.cpp
index e19b50b..8583be5 100644
--- a/glsldb/glScatter.cpp
+++ b/glsldb/glScatter.cpp
@@ -48,7 +48,11 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #undef FontChange

 #include "glScatter.qt.h"
+#ifdef __APPLE__
+#include <OpenGL/glu.h>
+#else
 #include <GL/glu.h>
+#endif
 #include <QtCore/QFile>
 #include <QtGui/QMouseEvent>
 #include <stdlib.h>
diff --git a/glsldb/progControl.cpp b/glsldb/progControl.cpp
index 4faa368..c2004a6 100644
--- a/glsldb/progControl.cpp
+++ b/glsldb/progControl.cpp
@@ -53,6 +53,7 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 #ifdef GLSLDB_OSX
 #  include <signal.h>
+#  include <mach-o/dyld.h>
 #  include "utils/osx_ptrace_defs.h"
 #  define __ptrace_request int
 #endif
@@ -92,8 +93,13 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #define LIBDLSYM ""
 #define DBG_FUNCTIONS_PATH "\\plugins"
 #else /* _WIN32 */
+#ifdef GLSLDB_OSX
+#define DEBUGLIB "/../lib/libglsldebug.dylib"
+#define LIBDLSYM "/../lib/libdlsym.dylib"
+#else
 #define DEBUGLIB "/../lib/libglsldebug.so"
 #define LIBDLSYM "/../lib/libdlsym.so"
+#endif
 #define DBG_FUNCTIONS_PATH "/../lib/plugins"
 #endif /* _WIN32 */

@@ -381,9 +387,16 @@ pcErrorCode ProgramControl::executeDbgCommand(void)
 void ProgramControl::setDebugEnvVars(void)
 {
 #ifndef _WIN32
-       if (setenv("LD_PRELOAD", _path_dbglib.c_str(), 1))
+#ifdef GLSLDB_OSX
+       if (setenv("DYLD_INSERT_LIBRARIES", _path_dbglib.c_str(), 1))
+               dbgPrint(DBGLVL_ERROR,
+                 "setenv DYLD_INSERT_LIBRARIES failed: %s\n", strerror(errno));
+#else
+    if (setenv("LD_PRELOAD", _path_dbglib.c_str(), 1))
                dbgPrint(DBGLVL_ERROR,
-                               "setenv LD_PRELOAD failed: %s\n", strerror(errno));
+                 "setenv LD_PRELOAD failed: %s\n", strerror(errno));
+#endif
+
        dbgPrint(DBGLVL_INFO, "env dbglib: \"%s\"\n", _path_dbglib.c_str());

        {
@@ -416,7 +429,7 @@ void ProgramControl::setDebugEnvVars(void)
                dbgPrint(DBGLVL_ERROR,
                                "setenv GLSL_DEBUGGER_LOGDIR failed: %s\n", strerror(errno));
        dbgPrint(DBGLVL_INFO, "env dbglogdir: \"%s\"\n", _path_log.c_str());
-
+    
 #else /* !_WIN32 */
        {
                std::string s = QString::number(GetCurrentProcessId()).toStdString() + std::string("SHM");
@@ -465,6 +478,17 @@ void ProgramControl::buildEnvVars(const char *pname)
        }
 #else /* _WIN32 */

+#ifdef __APPLE__
+    char path[PATH_MAX];
+    uint32_t size = sizeof(path);
+    if (_NSGetExecutablePath(path, &size) == 0) {
+        progpath.append(path);
+        printf("executable path is %s\n", path);
+    } else {
+        dbgPrint(DBGLVL_ERROR, "Unable to retrieve absolute path.");
+        exit(1);
+    }
+#else
 #if 0
        if (*pname == *PATH_SEP) {
                /* Path is already absolute. */
@@ -514,6 +538,8 @@ void ProgramControl::buildEnvVars(const char *pname)
        }
 #endif

+#endif // __APPLE__
+
 #endif /* _WIN32 */
        dbgPrint(DBGLVL_INFO,
                        "Absolute path to debugger executable is: %s\n", progpath.c_str());

Regards,
Venkat

Flex problem

When trying to compile on windows 7 with visual studio 2010 i get an error

Error   1   error MSB3073: The command "cd ..\..\tools
flex.exe -oGen_glslang.cpp ..\glslang\MachineIndependent\glslang.l
move Gen_glslang.cpp ..\glslang\MachineIndependent\
bison.exe -t -v -d -o..\glslang\MachineIndependent\Gen_glslang ..\glslang\MachineIndependent\glslang.y
cd ..\glslang\MachineIndependent
echo #include "../../../glsldb/utils/dbgprint.h" > Gen_glslang_tab.cpp
perl -ne "s/fprintf\s*\(\s*stderr,\s*/dbgPrint\(DBGLVL_COMPILERINFO,/;print;" gen_glslang >> Gen_glslang_tab.cpp
move gen_glslang.h glslang_tab.h

:VCEnd" exited with code 1. C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets 103 6   MachineIndependent

Then i tried to compile the command manually (in cmd) and i get the following errors:

"..\glslang\MachineIndependent\glslang.l", line 70: bad character: 2
"..\glslang\MachineIndependent\glslang.l", line 70: bad character: )
"..\glslang\MachineIndependent\glslang.l", line 71: bad character: #
"..\glslang\MachineIndependent\glslang.l", line 71: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 76: bad character: }
"..\glslang\MachineIndependent\glslang.l", line 76: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 76: bad character: ;
"..\glslang\MachineIndependent\glslang.l", line 81: name defined twice
"..\glslang\MachineIndependent\glslang.l", line 82: name defined twice
"..\glslang\MachineIndependent\glslang.l", line 84: bad character: #
"..\glslang\MachineIndependent\glslang.l", line 84: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 84: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 87: bad character: #
"..\glslang\MachineIndependent\glslang.l", line 87: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 92: bad character: #
"..\glslang\MachineIndependent\glslang.l", line 92: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 94: bad character: #
"..\glslang\MachineIndependent\glslang.l", line 94: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 94: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 94: bad character: (
"..\glslang\MachineIndependent\glslang.l", line 94: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 94: bad character: ,
"..\glslang\MachineIndependent\glslang.l", line 94: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 94: bad character: ,
"..\glslang\MachineIndependent\glslang.l", line 94: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 94: bad character: )
"..\glslang\MachineIndependent\glslang.l", line 94: bad character: (
"..\glslang\MachineIndependent\glslang.l", line 94: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 94: bad character: =
"..\glslang\MachineIndependent\glslang.l", line 94: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 94: bad character: (
"..\glslang\MachineIndependent\glslang.l", line 94: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 94: bad character: ,
"..\glslang\MachineIndependent\glslang.l", line 94: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 94: bad character: )
"..\glslang\MachineIndependent\glslang.l", line 94: bad character: )
"..\glslang\MachineIndependent\glslang.l", line 96: bad character: #
"..\glslang\MachineIndependent\glslang.l", line 96: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 96: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 96: bad character: (
"..\glslang\MachineIndependent\glslang.l", line 96: unknown error processing sec
tion 1
"..\glslang\MachineIndependent\glslang.l", line 96: bad character: )
"..\glslang\MachineIndependent\glslang.l", line 96: bad character: {
"..\glslang\MachineIndependent\glslang.l", line 96: bad character: \
"..\glslang\MachineIndependent\glslang.l", line 103: bad character: }

I tried using the flex in tools directory or my own Gnuwin32 flex but both give the same errors, flex++ also gives an error...

64bit call to CreateRemoteThread crashes target 64bit executable.

When attaching to a 64bit process with a 64bit compile of glsdb will crash the target process with an access violation.

Both glsldb and my target are compiled using MSVC2013 x64. Running on Windows 10.

First-chance exception at 0x0000016B02010000 in secondlife-bin.exe: 0xC0000005: Access violation executing location 0x0000016B02010000. Unhandled exception at 0x0000016B02010000 in secondlife-bin.exe: 0xC0000005: Access violation executing location 0x0000016B02010000.

Optimus problems (applications using fork)

Hi,

I am attempting to debug a program which runs only on my optimus-powered nvidia card, as the mesa drivers for my intel card do not support OpenGL 4. I have bumblebee installed to handle the switch, and I am using optirun with primus.

When running my program from console via optirun it works perfectly, however, if I open glsldb in optirun and then load the program, it does not seem to be able to run it on the nvidia card, and then the program crashes because it tries to run on the intel card. I also cannot trick it into running it with optirun by using a shell script as my program.

The problem seems unique to glsldb. When running eclipse with optirun, any debugged applications also run on the nvidia card, thus I am not sure why glsldb can't spawn the process in the nvidia X.

Do you have any suggestions how I could circumvent this problem?

Regards,
Baliame

wglEnumerantsMap, is it not generating some important files?

After solving the Flex issue which can be solved with the latest verions, and linking the solutions with my libaries and includes folders I still get the following errors:

Error   1   error C2065: 'wglEnumerantsMap' : undeclared identifier c:\temp\glsl-debugger-master\glsldb\glenumerants\glenumerants.c 128 1   glenumerants
Error   2   error C2109: subscript requires array or pointer type   c:\temp\glsl-debugger-master\glsldb\glenumerants\glenumerants.c 128 1   glenumerants
Error   3   error C2065: 'wglEnumerantsMap' : undeclared identifier c:\temp\glsl-debugger-master\glsldb\glenumerants\glenumerants.c 129 1   glenumerants
Error   4   error C2109: subscript requires array or pointer type   c:\temp\glsl-debugger-master\glsldb\glenumerants\glenumerants.c 129 1   glenumerants
Error   5   error C2065: 'wglEnumerantsMap' : undeclared identifier c:\temp\glsl-debugger-master\glsldb\glenumerants\glenumerants.c 130 1   glenumerants
Error   6   error C2109: subscript requires array or pointer type   c:\temp\glsl-debugger-master\glsldb\glenumerants\glenumerants.c 130 1   glenumerants
Error   7   error C1083: Cannot open include file: 'utils/dbgprint.h': No such file or directory    c:\temp\glsl-debugger-master\glslcompiler\glslang\machineindependent\intermediate.cpp   45  1   MachineIndependent
Error   8   error C1083: Cannot open include file: 'generated_glsl_parser.hpp': No such file or directory   c:\temp\glsl-debugger-master\glslcompiler\glslang\glslang\machineindependent\glslang.l  MachineIndependent
Error   11  error C1070: mismatched #if/#endif pair in file 'c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h'    c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h  352 1   DebugLib
Error   12  error C1070: mismatched #if/#endif pair in file 'c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h'    c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h  352 1   DebugLib
Error   13  error C1083: Cannot open include file: '../GL/WinGDI.h': No such file or directory  C:\temp\GLSL-Debugger-master\glsldb\DebugLib\hooks.c    40  1   DebugLib
Error   14  error C1070: mismatched #if/#endif pair in file 'c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h'    c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h  352 1   DebugLib
Error   15  error C1070: mismatched #if/#endif pair in file 'c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h'    c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h  352 1   DebugLib
Error   16  error C1070: mismatched #if/#endif pair in file 'c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h'    c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h  352 1   DebugLib
Error   17  error C1070: mismatched #if/#endif pair in file 'c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h'    c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h  352 1   DebugLib
Error   18  error C1070: mismatched #if/#endif pair in file 'c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h'    c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h  352 1   DebugLib
Error   19  error C1075: end of file found before the left brace '{' at 'functionList.c(3)' was matched C:\temp\GLSL-Debugger-master\glsldb\DebugLib\functionList.c 2058    1   DebugLib
Error   20  error C1070: mismatched #if/#endif pair in file 'c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h'    c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h  352 1   DebugLib
Error   22  error C1070: mismatched #if/#endif pair in file 'c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h'    c:\temp\glsl-debugger-master\glsldb\debuglib\trampolines.h  352 1   DebugFunctions
Error   23  error C1083: Cannot open include file: 'ui_aboutBox.h': No such file or directory   c:\temp\glsl-debugger-master\glsldb\aboutBox.qt.h   38  1   glsldb
Error   24  error C1083: Cannot open include file: 'detours.h': No such file or directory   C:\temp\GLSL-Debugger-master\glsldb\attachToProcess.cpp 39  1   glsldb
Error   25  error C1083: Cannot open include file: 'ui_attachToProcessDialog.h': No such file or directory  c:\temp\glsl-debugger-master\glsldb\attachToProcessDialog.qt.h  41  1   glsldb
Error   26  error C1083: Cannot open include file: 'ui_compilerErrorDetails.h': No such file or directory   c:\temp\glsl-debugger-master\glsldb\compilerErrorDetails.qt.h   38  1   glsldb
Error   27  error C1083: Cannot open include file: 'ui_compilerErrorDialog.h': No such file or directory    c:\temp\glsl-debugger-master\glsldb\compilerErrorDialog.qt.h    38  1   glsldb
Error   28  error C1083: Cannot open include file: 'ui_dbgShaderView.h': No such file or directory  c:\temp\glsl-debugger-master\glsldb\dbgShaderView.qt.h  37  1   glsldb
Error   29  error C1083: Cannot open include file: 'ui_editCallDialog.h': No such file or directory c:\temp\glsl-debugger-master\glsldb\editCallDialog.qt.h 39  1   glsldb
Error   30  error C1083: Cannot open include file: 'ui_fragmentTestDialog.h': No such file or directory c:\temp\glsl-debugger-master\glsldb\fragmentTestDialog.qt.h 37  1   glsldb
Error   31  error C1083: Cannot open include file: 'GL/glew.h': No such file or directory   C:\temp\GLSL-Debugger-master\glsldb\glScatter.cpp   37  1   glsldb
Error   32  error C1083: Cannot open include file: 'ui_mainWindow.h': No such file or directory c:\temp\glsl-debugger-master\glsldb\mainWindow.qt.h 44  1   glsldb
Error   33  error C1083: Cannot open include file: 'ui_glTraceSettingsDialog.h': No such file or directory  c:\temp\glsl-debugger-master\glsldb\glTraceSettingsDialog.qt.h  42  1   glsldb
Error   34  error C1083: Cannot open include file: 'ui_jumpToDialog.h': No such file or directory   c:\temp\glsl-debugger-master\glsldb\jumpToDialog.qt.h   44  1   glsldb
Error   35  error C1083: Cannot open include file: 'ui_loopDialog.h': No such file or directory c:\temp\glsl-debugger-master\glsldb\loopDialog.qt.h 37  1   glsldb
Error   36  error C1083: Cannot open include file: 'ui_mainWindow.h': No such file or directory c:\temp\glsl-debugger-master\glsldb\mainWindow.qt.h 44  1   glsldb
Error   37  error C1083: Cannot open include file: 'ui_openProgramDialog.h': No such file or directory  c:\temp\glsl-debugger-master\glsldb\openProgramDialog.qt.h  39  1   glsldb
Error   38  error C1083: Cannot open include file: 'detours.h': No such file or directory   C:\temp\GLSL-Debugger-master\glsldb\progControl.cpp 38  1   glsldb
Error   39  error C1083: Cannot open include file: 'ui_selectionDialog.h': No such file or directory    c:\temp\glsl-debugger-master\glsldb\selectionDialog.qt.h    37  1   glsldb
Error   40  error C1083: Cannot open include file: 'ui_watchGeoDataTree.h': No such file or directory   c:\temp\glsl-debugger-master\glsldb\watchGeoDataTree.qt.h   37  1   glsldb
Error   41  error C1083: Cannot open include file: 'ui_watchTable.h': No such file or directory c:\temp\glsl-debugger-master\glsldb\watchTable.qt.h 37  1   glsldb
Error   42  error C1083: Cannot open include file: 'ui_watchVector.h': No such file or directory    c:\temp\glsl-debugger-master\glsldb\watchVector.qt.h    37  1   glsldb
Error   43  error C1083: Cannot open include file: 'ui_attachToProcessDialog.h': No such file or directory  c:\temp\glsl-debugger-master\glsldb\attachToProcessDialog.qt.h  41  1   glsldb
Error   44  error C1083: Cannot open include file: 'ui_compilerErrorDetails.h': No such file or directory   c:\temp\glsl-debugger-master\glsldb\compilerErrorDetails.qt.h   38  1   glsldb
Error   45  error C1083: Cannot open include file: 'ui_compilerErrorDialog.h': No such file or directory    c:\temp\glsl-debugger-master\glsldb\compilerErrorDialog.qt.h    38  1   glsldb
Error   46  error C1083: Cannot open include file: 'ui_dbgShaderView.h': No such file or directory  c:\temp\glsl-debugger-master\glsldb\dbgShaderView.qt.h  37  1   glsldb
Error   47  error C1083: Cannot open include file: 'ui_editCallDialog.h': No such file or directory c:\temp\glsl-debugger-master\glsldb\editCallDialog.qt.h 39  1   glsldb
Error   48  error C1083: Cannot open include file: 'ui_fragmentTestDialog.h': No such file or directory c:\temp\glsl-debugger-master\glsldb\fragmentTestDialog.qt.h 37  1   glsldb
Error   49  error C1083: Cannot open include file: 'ui_glTraceSettingsDialog.h': No such file or directory  c:\temp\glsl-debugger-master\glsldb\glTraceSettingsDialog.qt.h  42  1   glsldb
Error   50  error C1083: Cannot open include file: 'ui_jumpToDialog.h': No such file or directory   c:\temp\glsl-debugger-master\glsldb\jumpToDialog.qt.h   44  1   glsldb
Error   51  error C1083: Cannot open include file: 'ui_loopDialog.h': No such file or directory c:\temp\glsl-debugger-master\glsldb\loopDialog.qt.h 37  1   glsldb
Error   52  error C1083: Cannot open include file: 'ui_mainWindow.h': No such file or directory c:\temp\glsl-debugger-master\glsldb\mainWindow.qt.h 44  1   glsldb
Error   53  error C1083: Cannot open include file: 'ui_openProgramDialog.h': No such file or directory  c:\temp\glsl-debugger-master\glsldb\openProgramDialog.qt.h  39  1   glsldb
Error   54  error C1083: Cannot open include file: 'ui_selectionDialog.h': No such file or directory    c:\temp\glsl-debugger-master\glsldb\selectionDialog.qt.h    37  1   glsldb
Error   55  error C1083: Cannot open include file: 'ui_watchGeoDataTree.h': No such file or directory   c:\temp\glsl-debugger-master\glsldb\watchGeoDataTree.qt.h   37  1   glsldb
Error   56  error C1083: Cannot open include file: 'ui_watchTable.h': No such file or directory c:\temp\glsl-debugger-master\glsldb\watchTable.qt.h 37  1   glsldb
Error   57  error C1083: Cannot open include file: 'ui_watchVector.h': No such file or directory    c:\temp\glsl-debugger-master\glsldb\watchVector.qt.h    37  1   glsldb
    58  IntelliSense: identifier "wglEnumerantsMap" is undefined    c:\temp\glsl-debugger-master\glsldb\glenumerants\glenumerants.c 128 9   glenumerants
    59  IntelliSense: a value of type "void *" cannot be assigned to an entity of type "char *" c:\temp\glsl-debugger-master\glsldb\glenumerants\glenumerants.c 139 10  glenumerants

Searching for wglEnumerantsMap at google simply returns this repository...

Compiling on OSX

I tried to fix the source code to get it to build on macOS Sierra. After dealing with a few substantial hurdles, I seem to be stuck at compiling glsldb/progControlWin.cpp. If this a matter of build configuration, I can try excluding it from the Makefile. I haven't looked into the source to see if the logic is closely tied to this file, so I need some advice whether it even makes sense trying to build on OSX or not. Thanks

MHook library does not work in Win64 environment

It seems that MHook library is outdated, and it cannot be used in Wondows 64 bit. More precisely: the disassembler does not support X64 instruction set for modern Intel processors, as well as branches, etc. So, DisassembleAndSkip fails and the whole application does not even start. Is there any new version of MHook that works in X64 environment?

glsldb hangs when debugging an application.

Hello,

I'm currently trying to debug an private application via glsldb. However, when I'm stepping through the application to debug both glsldb and the debugged application hang before the first drawing call.

The step I do are:

  • Open executable to debug
  • Start application via "GL Trace" window (F5)
  • Run application via "GL Trace" window (F8)

Results are:
Both my debugged application and glsldb are not responsive to keyboard or mouse input .

The last 3 GL Trace entry is:

glAttachShader(1, 2)
glAttachShader(1, 3)
glLinkProgram(1)

On the console the last logged output is:

STORE CALL: glAttachShader(1, 2, )
send: DBG_CALL_ORIGFUNCTION
OPERATION: 6
ORIG_GL: glAttachShader (0x7fe8c247a160)
ORIG_GL: glGetError (0x7fe8c2478620)
2013-12-15 00:16:21 [INFO ]::error.c:setErrorCode()::57: STORE ERROR: 0
send: DBG_DONE
OPERATION: 22
2013-12-15 00:16:21 [INFO ]::error.c:setErrorCode()::57: STORE ERROR: 0
STORE CALL: glAttachShader(1, 3, )
send: DBG_CALL_ORIGFUNCTION
OPERATION: 6
ORIG_GL: glAttachShader (0x7fe8c247a160)
ORIG_GL: glGetError (0x7fe8c2478620)
2013-12-15 00:16:21 [INFO ]::error.c:setErrorCode()::57: STORE ERROR: 0
send: DBG_DONE
OPERATION: 22
2013-12-15 00:16:21 [INFO ]::error.c:setErrorCode()::57: STORE ERROR: 0
STORE CALL: glLinkProgram(1, )
send: DBG_CALL_ORIGFUNCTION
OPERATION: 6
ORIG_GL: glLinkProgram (0x7fe8c247a520)
ORIG_GL: glGetError (0x7fe8c2478620)
2013-12-15 00:16:21 [INFO ]::error.c:setErrorCode()::57: STORE ERROR: 0
send: DBG_GET_SHADER_CODE
OPERATION: 15

The debugged application uses:

  • OpenGL 3.0
  • GL_ARB_debug_output
  • GLSL 1.3

The host uses:

  • Fedora 19
  • Linux 3.11.9 x86_64
  • Mesa 9.2.3
  • X.Org X Server 1.14.4

Any advice on how I fix this would be welcome.

QtGui dependency

Hello!

I tried to build it on linux, but I get an error message:
"glsldb.cpp:45:30: fatal error: QtGui/QApplication: No such file or directory
compilation terminated."
What package(s) do I need to build it? I seem to have like every QtGui related packages from synaptic installed, but still can't build it :(

undefined reference to freeShChangeableList

I get an undefined reference to _imp__freeShChangeableList in GLSL-Debugger-GLSL-Debugger-55b007c\GLSLCompiler\glslang\MachineIndependent\..\Include\intermediate.h|493 when trying to compile. Any idea ?

Set PTRACE_O_EXITKILL

Since Linux 3.8 PTRACE_O_EXITKILL is available. This should be useful to prevent tracees to escape a crashed debugger. Currently, these tracees have to be killed manually. Unfortunately, glibc hasn't released a new version yet although the source code already contains the necessary patches. Once 2.18 is released we should give that a try.

Error when making file on glenumerants.c: #include "generated/glenumerants.h"

/home/cg/OpenGLDebugging/debuggers/GLSL-Debugger/glsldb/DebugLib/glenumerants.c:44:36: fatal error: generated/glenumerants.h: No such file or directory
#include "generated/glenumerants.h"

I think either cmake or make is failing to generate some files. Occurs on linux after following the installation guide:
mkdir build && cd build
cmake ..
make <- error here

Edit: Sorry made a mistake and put \ in the error steps (removed it now), but it the real error remains unless someone has fixed the issue.

Debugged app does not exit on debugger crash.

When debugger ends abnormally (by crash or suddenly termination from gdb) the debugged app that was launched does not exit and stay running without responding to system calls, as expected. I tried to go through launching process, but cannot fix it fast (I'm busy with integrating mesa as glsl compiler now).
The fastest solution, as I see, is catch system signals and check for running pseudo-children processes. Not sure it will work for SIGKILL.

cannot compile, waste whole day

Waste my whole day to try to compile it, but it doesn't work!
I don't use VS, I don't write C, I just want to debug damn GLSL.
The whole GLSL thing is shit!

No data from fragment shader debugging

I'm trying to debug a fragment shader, but it looks like no data is coming back. From some poking, I tried changing this code to just unconditionally set *pCoverage to true and then logging what is logged from ptrace which shows that all the data is coming back as 0.

I'm using an Ivy Bridge CPU with Mesa's drivers on Linux (Rawhide).

CMake doesn't find Threads for unknown reason [patch]

For some reason trying to compile GLSL-Debugger under Arch Linux gives this error even though threads header is present:

CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message): Could NOT find Threads (missing: Threads_FOUND) Call Stack (most recent call first): /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE) /usr/share/cmake-2.8/Modules/FindThreads.cmake:166 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) glsldb/DebugLib/CMakeLists.txt:2 (find_package)

Swapping find_package(Perl REQUIRED) with find_package(Threads REQUIRED) fixes the error.

patch

diff --git a/glsldb/DebugLib/CMakeLists.txt b/glsldb/DebugLib/CMakeLists.txt
index 593848c..57b08ee 100644
--- a/glsldb/DebugLib/CMakeLists.txt
+++ b/glsldb/DebugLib/CMakeLists.txt
@@ -1,5 +1,5 @@
-find_package(Perl REQUIRED)
find_package(Threads REQUIRED)
+find_package(Perl REQUIRED)
find_package(OpenGL REQUIRED)
find_package(GLUT REQUIRED)

Debugger is forced to kill

I build with USE_MESA=ON and can't start the debugger.
My app use GLSL 3.3 (there's one shader has 330 compatibility directive).
I'm using Linux-64 with GCC version 5.4.0.
Here is the log:

2017-08-05 03:52:02 [INFO ]::glsldb.cpp:main()::380: Application startup. 2017-08-05 03:52:02 [INFO ]::FunctionsMap.cpp:initialize()::21: 2624 registered GL-Functions Absolute path to debugger executable is: /XXX/GLSL-Debugger/build/bin/glsldb Path to debug library is: /XXX/GLSL-Debugger/build/bin/../lib/libglsldebug.so Path to debug functions is: /XXX/GLSL-Debugger/build/bin/../lib/plugins Path to libdlsym is: /XXX/GLSL-Debugger/build/bin/../lib/libdlsym.so 2017-08-05 03:52:03 [INFO ]::mainWindow.cpp:setRunLevel()::3196: new level: 0 killing debuggee: forced2017-08-05 03:52:06 [INFO ]::mainWindow.cpp:setRunLevel()::3196: new level: 1

Build fails

Running cmake works, however when I run mingw32-make on the project I get the following error:

CMakeFiles\glslang.dir/objects.a(generated_glsl_parser.cpp.obj): In function `ZN 11TIntermNodeD2Ev': c:/users/user/downloads/glsldebugger/glsl-debugger-glsl-debugger-06cb427/glslcom piler/glslang/include/intermediate.h:493: undefined reference to `_imp__freeShCh
angeableList'
collect2.exe: error: ld returned 1 exit status
GLSLCompiler\glslang\MachineIndependent\CMakeFiles\glslang.dir\build.make:466: r
ecipe for target 'bin/libglslang.dll' failed
mingw32-make[2]: *** [bin/libglslang.dll] Error 1
CMakeFiles\Makefile2:344: recipe for target 'GLSLCompiler/glslang/MachineIndepen
dent/CMakeFiles/glslang.dir/all' failed
mingw32-make[1]: *** [GLSLCompiler/glslang/MachineIndependent/CMakeFiles/glslang
.dir/all] Error 2
Makefile:128: recipe for target 'all' failed
mingw32-make: *** [all] Error 2

If I run cmake with -D USE_MESA=ON and run make on the project I get this error:

[ 52%] Generate enumerants: C:/Users/user/Downloads/glsldebugger/GLSL-Debugger-G
LSL-Debugger-06cb427/build/glsldb/DebugLib/generated/glenumerants.h
Can't locate genTools.pm in @inc (you may need to install the genTools module) (
@inc contains: D:/Strawberry/perl/site/lib D:/Strawberry/perl/vendor/lib D:/Stra
wberry/perl/lib) at Enumerants.pl line 32.
glsldb\DebugLib\generator\CMakeFiles\generation.dir\build.make:69: recipe for ta
rget 'glsldb/DebugLib/generated/glenumerants.h' failed
mingw32-make[2]: *** [glsldb/DebugLib/generated/glenumerants.h] Error 2
mingw32-make[2]: *** Deleting file 'glsldb/DebugLib/generated/glenumerants.h'
CMakeFiles\Makefile2:640: recipe for target 'glsldb/DebugLib/generator/CMakeFile
s/generation.dir/all' failed
mingw32-make[1]: *** [glsldb/DebugLib/generator/CMakeFiles/generation.dir/all] E
rror 2
Makefile:128: recipe for target 'all' failed
mingw32-make: *** [all] Error 2

glXChooseVisual always returns NULL

I'm having a hard time using glsldb since it can't even run glxgears. I narrowed it down to this minimalish case:

#include <GL/glx.h>
#include <X11/Xlib.h>
#include <X11/Xresource.h>
#include <X11/Xutil.h>
#include <stdio.h>
#include <stdlib.h>

int main() {
	int list[] = {GLX_RGBA, None};
	printf("DISPLAY=%s\n", getenv("DISPLAY"));
	Display* d = XOpenDisplay(NULL);
	if (d == NULL) {
		printf("XOpenDisplay returned NULL\n");
	}
	XVisualInfo* info = glXChooseVisual(d, 0, list);
	if (info == NULL) {
		printf("glXChooseVisual returned NULL\n");
	} else {
		printf("visual=%d, screen=%d, depth=%d\n", info->visual, info->screen,
				info->depth);
	}
}

compile it with

gcc test.c -lX11 -lGL -g -o test

The normal output looks like this when run normally:

DISPLAY=:0
visual=21388184, screen=0, depth=24

When run in glsldb:

2016-11-05 16:48:21 [INFO ]::glsldb.cpp:main()::380: Application startup.
2016-11-05 16:48:21 [INFO ]::FunctionsMap.cpp:initialize()::21: 2624 registered GL-Functions
Absolute path to debugger executable is: /usr/bin/glsldb
Path to debug library is: /usr/bin/../lib/libglsldebug.so
Path to debug functions is: /usr/bin/../lib/plugins
Path to libdlsym is: /usr/bin/../lib/libdlsym.so
2016-11-05 16:48:22 [INFO ]::mainWindow.cpp:setRunLevel()::3196: new level: 1 
env dbglib: "/usr/bin/../lib/libglsldebug.so"
env shmid: "2293763"
env dbgfctns: "/usr/bin/../lib/plugins"
libdlsym: "/usr/bin/../lib/libdlsym.so"
env dbglvl: "6"
env dbglogdir: ""
debuggee executes ./a.out
debuggee process pid: 24611
waiting for debuggee to respond...
checking debuggee status...
debuggee process was stopped by SIGTRAP 5
sending continue
checking debuggee status...
DISPLAY=:0
debuggee process was stopped by SIGSTOP 19
2016-11-05 16:48:24 [INFO ]::mainWindow.cpp:setRunLevel()::3196: new level: 2 glXChooseVisual
2016-11-05 16:48:24 [INFO ]::mainWindow.cpp:setRunLevel()::3196: new level: 3 glXChooseVisual
2016-11-05 16:48:25 [INFO ]::mainWindow.cpp:setRunLevel()::3196: new level: 5 glXChooseVisual
send: DBG_CALL_ORIGFUNCTION
checking debuggee status...
debuggee process was stopped by SIGSTOP 19
Hmm: Result expected but got code 0
send: DBG_DONE
checking debuggee status...
2016-11-05 16:48:25 [INFO ]::error.c:setErrorCode()::58: STORE ERROR: 0
glXChooseVisual returned NULL
debuggee terminated normally with status 0
killing debuggee: forcedchecking debuggee status...
checking clones: -1 -1
no such debuggee!
2016-11-05 16:48:25 [INFO ]::mainWindow.cpp:setRunLevel()::3196: new level: 1 
killing debuggee: forcedkilling debuggee: forced~ProgramControl freeShmem()

I'm running on Arch linux. Here is some relevant version information:

$ pacman -Q linux gcc-libs-multilib xorg-server nvidia nvidia-utils nvidia-libgl
linux 4.8.6-1
gcc-libs-multilib 6.2.1-1
xorg-server 1.18.4-1
nvidia 375.10-1
nvidia-utils 375.10-2
nvidia-libgl 375.10-2
glsl-debugger-git 1:r388.97fa0d2-1

CMake scripts broken on Windows

The comment in 297c33f is correct, glsldb/DebugLib/CMakeLists.txt fails on Windows with this error:

GLSL compiler: native
Prepare enumerants
Prepare debug library
Prepare trampolines
Configuring done
CMake Error at glsldb/DebugLib/CMakeLists.txt:81 (add_library):
  Cannot find source file:

    E:/Documents/GitHub/GLSL-Debugger/build/glsldb/DebugLib/generated/glsldebug.def

  Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
  .hxx .in .txx

I ran the Trampoline.pl commands manually to generate the output files, and copied them into the correct output directory, as a workaround. Then the scripts worked.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.