Penggunaan Cepat
Inisialisasi LightVM sangat fleksibel dan memungkinkan Anda untuk mengkonfigurasi kapabilitas dan fitur debugging sesuai dengan kebutuhan aplikasi Anda.
Menggunakan TypeScript
Untuk proyek berbasis TypeScript, Anda dapat mengkonfigurasi instance VM dengan pola builder yang intuitif sebelum mengakses antarmuka tools utama.
import { LightVM, Capability } from 'lightvm';
const vm = new LightVM({ caps: [Capability.Observe, Capability.Control] })
.withNightly(false) // To allow nightly features (default: false)
.withBacktrace(false) // To display backtrace details in error messages (default: false)
.withExplain(false) // To display a more detailed hint in the error message (default: false)
.withHint(true); // To display a hint on error messages (default: true)
const tools = vm.tools();import { LightVM, Capability } from 'lightvm';
const vm = new LightVM({
caps: [Capability.Observe, Capability.Control],
runtimeConfig: {
nightly: false, // To allow nightly features (default: false)
},
errorOptions: {
backtrace: false, // To display backtrace details in error messages (default: false)
explain: false, // To display a more detailed hint in the error message (default: false)
hint: true, // To display a hint on error messages (default: true)
},
});
const tools = vm.tools();Menggunakan Rust
Bagi pengguna Rust, konfigurasi dilakukan melalui VmConfig. Anda dapat mengatur kemampuan VM secara deklaratif sebelum mengeksekusi bytecode.
use lightvm::LightVM;
use lightvm::types::{vmconfig::VmConfig, capability::Capability};
fn main() {
let mut vm = LightVM::new(VmConfig {
caps: vec![Capability::Control, Capability::Observe],
..Default::default()
})
.with_nightly(false) // To allow nightly features (default: false)
.with_backtrace(false) // To display backtrace details in error messages (default: false)
.with_explain(false) // To display a more detailed hint in the error message (default: false)
.with_hint(true); // To display a hint on error messages (default: true)
let tools = vm.tools();
}use lightvm::LightVM;
use lightvm::types::{
vmconfig::VmConfig,
runtime_config::RuntimeConfig,
error_options::ErrorOptions,
capability::Capability
};
fn main() {
let mut vm = LightVM::new(VmConfig {
caps: vec![Capability::Control, Capability::Observe],
runtime_config: RuntimeConfig {
nightly: false // To allow nightly features (default: false)
},
error_options: ErrorOptions {
backtrace: false, // To display backtrace details in error messages (default: false)
explain: false, // To display a more detailed hint in the error message (default: false)
hint: true // To display a hint on error messages (default: true)
}
});
let tools = vm.tools();
}TIP
Dapatkan antarmuka alat. Simpan ini sebagai konstanta agar dapat digunakan kembali untuk semua tugas yang akan datang.
Kapabilitas
Keamanan dan perilaku LightVM dikelola melalui sistem kapabilitas yang tangguh. Gunakan tabel berikut untuk memahami izin apa yang diperlukan untuk kasus penggunaan spesifik Anda:
| Kapabilitas | Level | Deskripsi |
|---|---|---|
Control | Rendah | Memberikan izin untuk memulai/menghentikan eksekusi dan fungsi ekspor. |
Observe | Sedang | Memungkinkan host untuk memeriksa status internal, tumpukan variabel, dan metrik. |
Debug | Tinggi | Membuka akses ke log internal yang detail dan status tersembunyi untuk keperluan pemecahan masalah. |
Unsafe | Kritis | Menghilangkan pengaman, memungkinkan penghentian manual dan akses langsung ke memori/proses. |
Pemberitahuan Keamanan
Selalu patuhi Prinsip Hak Akses Minimal. Aktifkan hanya kemampuan spesifik yang dibutuhkan aplikasi Anda untuk memastikan lingkungan eksekusi yang aman dan dapat diprediksi.