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

Add /waitfordebugger argument to MGCB. #8227

Merged
merged 6 commits into from
Jun 10, 2024

Commits on Jun 7, 2024

  1. Add /waitfordebugger argument to MGCB.

    The call to `System.Diagnostics.Debugger.Launch` is
    not supported on Unix based platforms. This makes
    debugging `MGCB.exe` and Content Pipeline extensions
    difficult.
    
    So lets add a new argument which will make `MGCB.exe`
    wait for a debugger to attach. Also add a extra
    update to the `launch.json` to demonstrate how to
    attach the `dotnet` debugger to an existing process.
    
    This new system will also work on Windows.
    
    To use this in VSCode you can add the following to the
    `launch.json`
    
    ```json
    {
        // Use IntelliSense to learn about possible attributes.
        // Hover to view descriptions of existing attributes.
        // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Attach to Process",
                "type": "coreclr",
                "request": "attach",
                "processId": "${input.processid}",
            }
        ],
        "inputs": [
            {
                "id": "processid",
                "type": "promptString",
                "default": "0",
                "description": "Enter Process Id of process to attach to."
            }
        ]
    }
    ```
    
    you can then add the following to your `csproj`.
    
    ```
    <MonoGameMGCBAdditionalArguments>/waitfordebugger</MonoGameMGCBAdditionalArguments>
    ```
    
    This will cause the `MGCB.exe` to print the ProcessId
    to the console during the build and wait for the debugger
    to attach. Once you have the ProcessId you can run the
    VSCode `Attach to Process` and enter the ProcessId when prompted.
    The debugger should then attach.
    
    If you want to prcess without attaching the debugger just hit any
    key in the console or terminal windows where `MGCB.exe` is running.
    dellis1972 committed Jun 7, 2024
    Configuration menu
    Copy the full SHA
    b6b8285 View commit details
    Browse the repository at this point in the history
  2. Fix build error

    dellis1972 committed Jun 7, 2024
    Configuration menu
    Copy the full SHA
    0e20f21 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b9157e5 View commit details
    Browse the repository at this point in the history
  4. Fix some issues

    dellis1972 committed Jun 7, 2024
    Configuration menu
    Copy the full SHA
    2d0afac View commit details
    Browse the repository at this point in the history
  5. Fix duplicae flag

    dellis1972 committed Jun 7, 2024
    Configuration menu
    Copy the full SHA
    8a3b0e9 View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2024

  1. Fix formatting

    dellis1972 committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    72e439d View commit details
    Browse the repository at this point in the history