mirror of
https://github.com/bevyengine/bevy
synced 2024-11-23 05:03:47 +00:00
258f495352
# Objective - Help debug panics ## Solution - Insert a custom panic hook when trace is enabled that will log spans example when running a command on a despawned entity before: ``` thread 'main' panicked at 'Could not add a component (of type `panic::Marker`) to entity 1v0 because it doesn't exist in this World. If this command was added to a newly spawned entity, ensure that you have not despawned that entity within the same stage. This may have occurred due to system order ambiguity, or if the spawning system has multiple command buffers', /bevy/crates/bevy_ecs/src/system/commands/mod.rs:664:13 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ``` after: ``` 0: bevy_ecs::schedule::stage::system_commands with name="panic::my_bad_system" at crates/bevy_ecs/src/schedule/stage.rs:871 1: bevy_ecs::schedule::stage with name=Update at crates/bevy_ecs/src/schedule/mod.rs:340 2: bevy_app::app::frame at crates/bevy_app/src/app.rs:111 3: bevy_app::app::bevy_app at crates/bevy_app/src/app.rs:126 thread 'main' panicked at 'Could not add a component (of type `panic::Marker`) to entity 1v0 because it doesn't exist in this World. If this command was added to a newly spawned entity, ensure that you have not despawned that entity within the same stage. This may have occurred due to system order ambiguity, or if the spawning system has multiple command buffers', /bevy/crates/bevy_ecs/src/system/commands/mod.rs:664:13 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ```
82 lines
3.5 KiB
TOML
82 lines
3.5 KiB
TOML
[package]
|
|
name = "bevy_internal"
|
|
version = "0.6.0"
|
|
edition = "2021"
|
|
description = "An internal Bevy crate used to facilitate optional dynamic linking via the 'dynamic' feature"
|
|
homepage = "https://bevyengine.org"
|
|
repository = "https://github.com/bevyengine/bevy"
|
|
license = "MIT OR Apache-2.0"
|
|
keywords = ["game", "engine", "gamedev", "graphics", "bevy"]
|
|
categories = ["game-engines", "graphics", "gui", "rendering"]
|
|
|
|
[features]
|
|
trace = [ "bevy_app/trace", "bevy_ecs/trace", "bevy_log/trace", "bevy_render/trace" ]
|
|
trace_chrome = [ "bevy_log/tracing-chrome" ]
|
|
trace_tracy = [ "bevy_log/tracing-tracy" ]
|
|
wgpu_trace = ["bevy_render/wgpu_trace"]
|
|
debug_asset_server = ["bevy_asset/debug_asset_server"]
|
|
|
|
# Image format support for texture loading (PNG and HDR are enabled by default)
|
|
hdr = ["bevy_render/hdr"]
|
|
png = ["bevy_render/png"]
|
|
dds = ["bevy_render/dds"]
|
|
tga = ["bevy_render/tga"]
|
|
jpeg = ["bevy_render/jpeg"]
|
|
bmp = ["bevy_render/bmp"]
|
|
|
|
# Audio format support (MP3 is enabled by default)
|
|
flac = ["bevy_audio/flac"]
|
|
mp3 = ["bevy_audio/mp3"]
|
|
vorbis = ["bevy_audio/vorbis"]
|
|
wav = ["bevy_audio/wav"]
|
|
|
|
# Enable watching file system for asset hot reload
|
|
filesystem_watcher = ["bevy_asset/filesystem_watcher"]
|
|
|
|
serialize = ["bevy_input/serialize"]
|
|
|
|
# Display server protocol support (X11 is enabled by default)
|
|
wayland = ["bevy_winit/wayland"]
|
|
x11 = ["bevy_winit/x11"]
|
|
|
|
# enable rendering of font glyphs using subpixel accuracy
|
|
subpixel_glyph_atlas = ["bevy_text/subpixel_glyph_atlas"]
|
|
|
|
# Optimise for WebGL2
|
|
webgl = ["bevy_pbr/webgl", "bevy_render/webgl"]
|
|
|
|
# enable systems that allow for automated testing on CI
|
|
bevy_ci_testing = ["bevy_app/bevy_ci_testing", "bevy_render/ci_limits"]
|
|
|
|
[dependencies]
|
|
# bevy
|
|
bevy_app = { path = "../bevy_app", version = "0.6.0" }
|
|
bevy_asset = { path = "../bevy_asset", version = "0.6.0" }
|
|
bevy_core = { path = "../bevy_core", version = "0.6.0" }
|
|
bevy_derive = { path = "../bevy_derive", version = "0.6.0" }
|
|
bevy_diagnostic = { path = "../bevy_diagnostic", version = "0.6.0" }
|
|
bevy_ecs = { path = "../bevy_ecs", version = "0.6.0" }
|
|
bevy_input = { path = "../bevy_input", version = "0.6.0" }
|
|
bevy_log = { path = "../bevy_log", version = "0.6.0" }
|
|
bevy_math = { path = "../bevy_math", version = "0.6.0" }
|
|
bevy_reflect = { path = "../bevy_reflect", version = "0.6.0", features = ["bevy"] }
|
|
bevy_scene = { path = "../bevy_scene", version = "0.6.0" }
|
|
bevy_transform = { path = "../bevy_transform", version = "0.6.0" }
|
|
bevy_utils = { path = "../bevy_utils", version = "0.6.0" }
|
|
bevy_window = { path = "../bevy_window", version = "0.6.0" }
|
|
bevy_tasks = { path = "../bevy_tasks", version = "0.6.0" }
|
|
# bevy (optional)
|
|
bevy_audio = { path = "../bevy_audio", optional = true, version = "0.6.0" }
|
|
bevy_core_pipeline = { path = "../bevy_core_pipeline", optional = true, version = "0.6.0" }
|
|
bevy_gltf = { path = "../bevy_gltf", optional = true, version = "0.6.0" }
|
|
bevy_pbr = { path = "../bevy_pbr", optional = true, version = "0.6.0" }
|
|
bevy_render = { path = "../bevy_render", optional = true, version = "0.6.0" }
|
|
bevy_dynamic_plugin = { path = "../bevy_dynamic_plugin", optional = true, version = "0.6.0" }
|
|
bevy_sprite = { path = "../bevy_sprite", optional = true, version = "0.6.0" }
|
|
bevy_text = { path = "../bevy_text", optional = true, version = "0.6.0" }
|
|
bevy_ui = { path = "../bevy_ui", optional = true, version = "0.6.0" }
|
|
bevy_winit = { path = "../bevy_winit", optional = true, version = "0.6.0" }
|
|
bevy_gilrs = { path = "../bevy_gilrs", optional = true, version = "0.6.0" }
|
|
|
|
[target.'cfg(target_os = "android")'.dependencies]
|
|
ndk-glue = {version = "0.5", features = ["logger"]}
|