osu-crypto / libPSI

A repository for private set intersection.
Other
172 stars 48 forks source link

How to configure the development environment and debug the source code? #53

Closed Ant1proton closed 1 year ago

Ant1proton commented 1 year ago

When I tried to do a simple debugging of the source code, I found that there was no way to perform single-step debugging because there were a large number of files that needed to be precompiled. Other functions except the main function have no change after modification.(I have tried to comment out the entire fileBased.cpp file, and then rebuild, but the program can still execute normally and output the result.) So I would like to ask how to debug libPSI, and what kind of development environment is required? (eg. what is the version of VS) Looking forward to your answer, thank you.

ladnir commented 1 year ago

If all you want is debug info, the simplest way is to do a clean clone of the repo and then do python3 build.py --debug.

The slightly more complicated way is to first delete the out/ folder for each library that you want debug info for and then call python3 build.py --debug for libPSI. The other libraries (eg libOTe) can be found in the thirdparty/ folder. Not that libOTe, libOTe/cryptoTools each have their own thirdparty folders.

I use VS2019 primarily or VS code on mac.

If your on windows (VS), it should be as simple as opening the project and building it. Note that you might need to delete the out/build folders since VS tries to use ninja but cmake & python3 build.py default VS solutions files when compiling. In VS you can then use the cmake presets file to configure the library.