- Introduction
- Launch AnyWave in debug mode
- Update your MATLAB path
- Connect to AnyWave as a fake plugin
- Test your code
Introduction
This command was designed for debugging purposes.
That means you will have to launch an instance of the AnyWave application in plugin debug mode specifying a TCP port to listen to.
Launch AnyWave in debug mode
Depending on your OS platform, open a Terminal window or a console application and launch AnyWave using the following command:
anywave --plugin_debug --server_port 59000
If you installed the macOS version using the provided installation package, the anywave command is available from a terminal.
If you installed the Ubuntu 20.04 package, the command is available from a terminal.
If you installed the Windows release, you must add the PATH to the installation dir of AnyWave to the current system path or you must specify the full path to the anywave.exe file.
Update your MATLAB path
in order to use anywave() function you must first add the path to the anywave mex fuctions to MATLAB.
% Windows
addpath('c:\anywave\plugins\matlab\anywave');
% macos
addpath('/Applications/AnyWave.app/Contents/plugins/MATLAB/AnyWave');
% linux
addpath('/usr/local/AnyWave/Plugins/MATLAB/AnyWave');
Connect to AnyWave as a fake plugin
% use the same port number you specified when launching AnyWave.
props = anywave('debug_connect', 59000); % note that this is not a code you put in the main function.
% You can debug using the MATLAB workspace
% get the settings defined by AnyWave
% props is a struct containing all informations a plugin received when initialized.
This function will define a variable called args in the workspace namespace. This variable is a struct containing all the settings defined by AnyWave when running a plugin.
Test your code
While successfully connected to AnyWave, you can run any code using anywave() function.
You may have some issues as your code is not really running in the regular plugin context:
- The args struct returned will contain some empty paths, like the working directory path associated with the plugin or the plugin dir path.
You may have to take that into account while debugging.