Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release with PDBs #96

Closed
forrestsmithfb opened this issue Aug 23, 2023 · 7 comments
Closed

Release with PDBs #96

forrestsmithfb opened this issue Aug 23, 2023 · 7 comments

Comments

@forrestsmithfb
Copy link

I'm having issues where my symbols aren't being loaded (on Windows). I'd like to debug that issue because it's probably on my end. I've spent an hour or two trying to build the project from source so I can debug and have not been able to succeed. There are too many dependencies and it's far too painful.

Can you issue a release that includes PDBs for MTuner so it can be easily debugged without having to make a full source build?

@forrestsmithfb
Copy link
Author

I'm actually having trouble getting symbols to load even for a "basic" project where the PDB lives right next to the exe. Very strange. Would definitely love to debug MTuner and figure out why it's failing to load symbols! But building MTuner is prohibitively difficult. :(

@milostosic
Copy link
Collaborator

Can you issue a release that includes PDBs for MTuner so it can be easily debugged without having to make a full source build?

Sorry but that's unlikely to happen as it requires my time for an edge case (you needing to debug MTuner). Most of the pain you experience is likely related to Qt - I'm not having fun with that either.

Assuming you tried to build MTuner locally, how far did you get?

@forrestsmithfb
Copy link
Author

Assuming you tried to build MTuner locally, how far did you get?

Here's where I currently am.

  1. Cloned main MTuner repo plus all sibling repos
  2. Installed QT via vcpkg install qt5-base:x64-windows
  3. Installed lua 5.4.2 to c:\stuff\path\lua
  4. Manually ran set QTDIR_VS2022_x64=C:\temp\github\vcpkg\packages\qt5-base_x64-windows (and x86)
  5. Ran genie vs2022
  6. VS2022 debug build fails

The error output shows a lua.exe failure but I just noticed the Output window has useful information. So I think I'm missing "Lua lfs module". I'm not sure how to install that. The internet tells me to use the luarocks package manager? So I downloaded and an installed that. But the LFS package doesn't appear to exist. So I'm not sure what "lua lfs module" is or how to get it. =\

@milostosic
Copy link
Collaborator

You'll need Lua for Windows in your path too, you can use this: https://github.com/milostosic/luaforwindows

I don't know how Qt is installed via vcpkg, normally I use Qt online installer - may differ.

@forrestsmithfb
Copy link
Author

I had Lua installed, but it apparently didn't have all the right modules. Your version of course has what MTuner needs.

I'm now failing to compile because the particular version of QT I have installed doesn't have all the right files. What version of QT do you have installed?

@forrestsmithfb
Copy link
Author

Ok phew I finally got it compiling. I had to make a couple of code changes to support 5.15.14 which is what gets installed when you download their current open source installer. I didn't take notes, but off the top of my head.

  • change include path from <QtGui/QActionGroup> to <QtWidgets/QActionGroup>
  • change TreeMapView m_treeLines from QList<QlineF> to QVector<QLineF> to fix compile error in getTreeLines(). (unable to convert List -> Vector)
  • change stacktrace.cpp to use mouseEvent->globalPos() instead of mouseEvent->globalPosition().toPoint()
  • change QT6 libs to QT5. Maybe I could have installed QT6? The readme says MTuner was built with Qt 5.13.0 but the latest release actually has QT6 libs.

In any case I think I'm unblocked.

May I request that future releases of MTuner include pdbs? :) They really aren't that large and they compress 10:1. Including MTuner.pdb would have saved me 4+ hours of build system debugging. Hopefully it's something your deployment process can include with a tiny amount of work the next time you release an update?

@milostosic
Copy link
Collaborator

Glad to hear you're unblocked! MTuner releases are based on 'retail' build that has no debug info so there are no PDBs to include.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants