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

Improve support for debuggers #352

Open
madsmtm opened this issue Jan 15, 2023 · 2 comments
Open

Improve support for debuggers #352

madsmtm opened this issue Jan 15, 2023 · 2 comments
Labels
A-framework Affects the framework crates and the translator for them A-objc2 Affects the `objc2`, `objc2-exception-helper` and/or `objc2-encode` crates enhancement New feature or request

Comments

@madsmtm
Copy link
Owner

madsmtm commented Jan 15, 2023

It would be especially cool if we could re-use the debugging support that LLDB already contains for Foundation types like NSString and NSArray.

The unstable #![debugger_visualizer] attribute is probably the way to go, once it supports LLDB. Support for other debuggers is also desired, but probably less important (since the expectation is that users are going to be developing on macOS).

LLDB has a way to change how types are debugged, so I might try writing a python script that users can command script import (similar to how Rust's LLDB support currently work, though I think we might need to improve that too, see also vadimcn/codelldb#997).

Seems like Swift does it in code somehow, see https://developer.apple.com/documentation/swift/debugdescription(). So might be possible to make this information part of the binary?

@madsmtm madsmtm added enhancement New feature or request A-objc2 Affects the `objc2`, `objc2-exception-helper` and/or `objc2-encode` crates A-framework Affects the framework crates and the translator for them labels Jan 15, 2023
@madsmtm
Copy link
Owner Author

madsmtm commented May 2, 2023

The #![debugger_visualizer(...)] attribute is now stabilized, though without support for LLDB - we/I will probably have to do the work ourselves if we want that support.

@madsmtm madsmtm added this to the Polish icrate milestone Sep 11, 2023
@madsmtm
Copy link
Owner Author

madsmtm commented Sep 24, 2023

It would also be nice if we could somehow make instance variables show up by default if inspecting Objective-C code in Xcode (even if they're not exactly pretty).

Currently they're just hidden (exactly like for imported Swift classes), which is quite confusing!

See also #459.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-framework Affects the framework crates and the translator for them A-objc2 Affects the `objc2`, `objc2-exception-helper` and/or `objc2-encode` crates enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant