Mengaktifkan mode debugging di server 1c. Men-debug prosedur server (1Cv82)

8, ada kebutuhan (seperti dibahas di bawah) untuk pengerjaan ulang prosedur debugging secara signifikan. Hal ini tercermin dalam versi 8.3.7.1759. Pertama, antarmuka universal dibuat untuk prosedur ini, dan kedua, perubahan ini memastikan pengembangan lebih lanjut dari program itu sendiri. Lagi pula, sekarang Anda dapat bekerja dengan debugging tidak hanya melalui Configurator, tetapi juga menggunakan Alat Pengembangan. Mari kita lihat cara mengaktifkan debugging di server 1C mulai dari versi baru.

Menggunakan protokol baru

Debugger sebelumnya, yang diterapkan pada versi sebelumnya, mengelola aplikasi klien dan server menggunakan protokol TCP/IP.

Saat ini, penggunaan protokol tersebut mulai membatasi akses program 1C:Enterprise ke Internet dan menyebabkan ketidaknyamanan pada pengoperasian aplikasi seluler.

Oleh karena itu, untuk akses gratis ke basis informasi yang mungkin berlokasi di luar jaringan lokal, protokol HTTP fleksibel kini telah diadopsi.

Arsitektur baru

Sebelumnya, ketika melakukan debugging konfigurasi, seorang karyawan harus terhubung ke basis informasi. Untuk melakukan ini, perlu memberinya hak administrator.

Di versi baru, tidak perlu terhubung langsung ke database - cukup memiliki database yang sama dengan klien. Dan Anda dapat memuatnya dari file.

Aplikasi seluler

Dengan menggunakan protokol HTTP, sekarang dimungkinkan untuk men-debug data server, data klien, dan aplikasi.

Perubahan lainnya

Dengan versi baru, dimungkinkan untuk mengubah nilai variabel lokal dalam prosedur debugging; jendela tampilan cepat baru telah diterapkan untuk tujuan ini.

Mode perhitungan telah diubah menjadi asinkron, memungkinkan Anda untuk terus bekerja tanpa menunggu hasil.

Debugger di Alat Pengembangan

Interaksi dengan prosedur baru dilakukan dalam antarmuka perangkat lunak universal yang dikembangkan secara khusus. Di satu sisi, antarmuka ini digunakan oleh Configurator. Di sisi lain, ini diimplementasikan di lingkungan 1C:Enterprise Development Tools yang baru.

Seperti apa sekarang

Setelah mengubah program, prosedur terjadi sesuai dengan skenario berikut:

Sekarang ini tidak hanya melibatkan debugger dan item, seperti yang terjadi sebelumnya. Sekarang elemen tambahan telah diperkenalkan ke dalam rantai - Server.

Tidak hanya ditambahkan - ini berfungsi sebagai elemen utama pertukaran informasi antara debugger dan objek. Dan pertukaran itu sendiri terjadi melalui pesan-pesan yang berbaris dalam antrian.

Dan karena pertukaran ini dilakukan melalui protokol HTTP, sekarang tidak menjadi masalah di mana tepatnya data tersebut berada.

Panggilan ke server dibentuk dari debugger dan objek dalam bentuk permintaan koneksi tambahan. Ketika mereka muncul, tanggapan yang sesuai dikirimkan kepada mereka.

Aktifkan debugging dalam skenario yang berbeda

Bagi pengembang aplikasi, belum ada perubahan. Perbedaan yang signifikan adalah mekanisme baru harus diaktifkan. Lagi pula, sekarang dinonaktifkan secara default.

Mari kita lihat apa yang terjadi saat mode dimulai jika kita memilih salah satu dari dua skenario.

Skrip berkas

Di awal versi file, Anda harus menentukan dalam pengaturan konfigurasi penggunaan mekanisme baru - "Debugging melalui protokol HTTP".

Kemudian Configurator akan secara otomatis menyarankan penggunaan server lokal. Kondisi ini harus diterima dan program dimulai ulang dalam mode Configurator.

Setelah ini, Configurator yang baru diluncurkan akan menyimpan metode baru yang telah kita pilih pada sesi berikutnya. Tapi untuk basis informasi yang sama. Oleh karena itu, ketika mengakses infobase lain, itu juga harus diaktifkan.

Mekanisme yang diaktifkan sekarang akan secara otomatis meluncurkan Server Debugger, yang merupakan aplikasi khusus dbgs.exe. Hal ini tercermin di jendela Task Manager.

Nilai parameter ownerPID akan sesuai dengan ID aplikasi yang terikat padanya.

Saat Anda memulai sesi debugging melalui Configurator, koneksi server akan terjadi secara otomatis. Dan objek-objek yang terhubung akan tercermin di dalamnya.

Jika program 1C diaktifkan tanpa mekanisme baru, maka Anda harus mengaktifkan debugging pada server 1C secara manual. Hanya sekarang Anda perlu menentukan alamat server:

Buka Layanan - Opsi

Itu terletak di pengaturan item:

Buka Koneksi - Pengaturan

Saat menggunakan skrip file dengan beberapa database secara bersamaan, Anda perlu mempertimbangkan nuansa penting - masing-masing Konfigurator (dengan mekanisme HTTP diaktifkan) mengirimkan Servernya sendiri:

Oleh karena itu, jika beberapa Konfigurator terbuka, maka untuk menghubungkan Klien Anda perlu menentukan yang benar.

Skenario klien-server

Debugging pada server 1C menggunakan skenario client-server, seperti pada kasus sebelumnya, dimulai dengan meluncurkan mode. Ini menentukan penggunaan mekanisme HTTP baru. Ini dilakukan dengan cara ini:

ragent.exe -debug -http

Saat dimulai, debugger secara otomatis memulai di belakangnya.

Nilai parameter ownerPID akan sesuai dengan nomor identifikasi pengelola cluster 1C.

Program ini akan menghasilkan proposal untuk menggunakan server debug cluster sekarang (dan bukan server lokal seperti pada skenario sebelumnya). Kami setuju dan memulai kembali.

Di masa depan, semuanya akan berjalan seperti skrip file. Hanya ketika Anda memulai Server Database Configurator server debugger lokal tidak lagi dimulai.

Kami berharap publikasi kami membantu Anda mengetahui masalah cara mengaktifkan debugging di server 1C.

Tugas pengembang 1C tidak hanya menulis kode, tetapi juga melacak dan memperbaiki kesalahan, membangun algoritma eksekusi perintah yang optimal dan mengoptimalkan kecepatan kerja, yaitu debugging. Sulit untuk melakukan ini tanpa menggunakan fungsionalitas debugger prosedur server bawaan.

Awalnya, mode debugging dinonaktifkan pada server 1C, sehingga pengembang harus melakukan manipulasi sederhana dengan pengaturan agar dapat memeriksa kode secara menyeluruh.

Mengaktifkan mode debugging di server untuk platform 1C versi 8.2 dan lebih tinggi

Algoritme untuk mengaktifkan debugging cukup sederhana. Itu tidak memerlukan pengetahuan mendalam tentang arsitektur sistem operasi dan administrasi 1C. Namun, Anda tetap harus sangat berhati-hati, karena pekerjaan debugging dilakukan langsung di server dan dengan hak administrator. Oleh karena itu, jika Anda tidak memiliki pengetahuan menyeluruh, ikuti dengan ketat algoritme tindakan tanpa improvisasi:

  • Hentikan layanan 1C:Enterprise Server Agent melalui Manajer Server. Jika pengaturan dilakukan di server produksi, maka Anda harus berhati-hati terlebih dahulu tentang tidak adanya pengguna 1C di database;
  • Luncurkan editor registri sistem dengan mengklik "Mulai" - "Jalankan" atau pintasan keyboard "Menang" + "R". Di jendela yang terbuka, masukkan baris “regedit”;
  • Di registri Anda perlu menemukan item tersebut;

  • Di antara parameter, temukan “ImagePath” dan ubah dengan menambahkan “-debug” ke nilai yang ada dengan spasi di akhir;
  • Melalui Manajer Server, mulai layanan yang dihentikan - "1C:Enterprise Server Agent".

Mengaktifkan mode debugging di server untuk 1C versi 8.1

Jika Anda perlu mengaktifkan mode debugging pada platform 8.1, algoritme tindakannya hampir tidak berubah. Satu-satunya perubahan adalah lokasi parameter jalur "ImagePath". Di versi 8.1 terletak di bagian.

Pengembang 1C menyarankan untuk mengaktifkan mode debugging secara eksklusif untuk server pengujian, tempat kode harus di-debug. Alasan rekomendasi ini adalah karena dampak kinerja yang terjadi ketika debugging diaktifkan di server. Jika Anda memiliki banyak pengguna atau kekuatan server buruk, ikuti saran ini dengan hati-hati agar proses debug tidak menimbulkan konsekuensi negatif.

18.10.2016

Men-debug pada server 1C (8.2, 8.3...)

Jika database 1C berjalan dalam versi client-server, mode debugging kode di sisi server dinonaktifkan. Oleh karena itu, tidak mungkin untuk melihat langkah demi langkah apa yang terjadi saat menjalankan suatu fungsi atau prosedur. Untuk mengaktifkan debugging sisi server, Anda perlu mengikuti beberapa langkah sederhana.

Aktifkan debugging pada 1C:Enterprise server 8.2, 8.3

Hal pertama yang perlu Anda lakukan adalah menghentikan layanan server 1C:Enterprise. Buka "Start - Run" (atau pintasan keyboard "Windows + R"), tulis "services.msc" (tentu saja Anda perlu membuka manajemen layanan Windows dari Administrator)

Setelah berhenti, buka editor registri Windows ("Start - Run" (atau pintasan keyboard "Windows + R") dan tulis "regedit"), dan temukan cabang dengan nama "" atau "" tergantung pada versi platform


Kami tertarik dengan kunci registri bernama "ImagePath". Tambahkan "-debug" di akhir nilai kunci. Ini berarti mode debugging di sisi server 1C diaktifkan.
Dulu: "C:\Program Files\1cv8\8.3.6.2530\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
Menjadi: "C:\Program Files\1cv8\8.3.6.2530\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug


Simpan dan mulai layanan 1C. Semuanya sudah siap! Selamat men-debug!

Agar dapat men-debug prosedur server, Anda perlu mengatur flag dalam bentuk “Layanan->Parameter” pada konfigurator:

Debugging di server aplikasi

Ini dijelaskan dalam dokumentasi:

Buku “1C:Perusahaan 8.1. Konfigurasi dan administrasi"

Bab 18. Alat Konfigurasi

Debugger dan pengukuran kinerja

"Men-debug kode di server

Untuk menginstal mode debug, Anda harus memulai server 1C:Enterprise dengan sakelar baris perintah /Debug (ragent.exe /debug)."

Kunci startup agen server dijelaskan dalam buku:

"1C:Perusahaan 8.1. Server klien. Fitur instalasi dan penggunaan"

"Menjalankan agen server sebagai layanan

Jika, saat memasang cluster server, Anda memilih opsi untuk meluncurkan agen server pusat sebagai layanan, maka layanan ini akan diluncurkan secara otomatis selama proses instalasi dan juga akan diluncurkan saat sistem operasi dimulai.

Jika agen server pusat diinstal sebagai aplikasi, maka dimungkinkan untuk mendaftarkan layanan secara manual dan kemudian meluncurkannya.

Pendaftaran layanan dilakukan dengan perintah berikut:

Ragent.exe -instsrvc -usr<пользователь>-pwd<пароль>-pelabuhan<порт>-jangkauan<диапазоны>-seclev<уровень>-debug | -rmsrvc | -mulai | -berhenti

Instsrvc – mendaftarkan agen cluster sebagai layanan Windows. Jika ragent.exe diluncurkan dengan kunci ini, ia akan terdaftar di daftar layanan Windows dan keluar. Tidak kompatibel dengan sakelar -srvc, -rmsrvc;

Usr<имя пользователя>

orang cacat<пароль пользователя>– nama dan kata sandi pengguna Windows yang namanya ragent.exe harus diluncurkan sebagai layanan Windows. Hanya dapat digunakan bersama dengan kunci -instsrvc saat mendaftarkan ragent.exe sebagai layanan Windows;

Pelabuhan<порт>– nomor port utama agen cluster. Port ini digunakan oleh konsol cluster untuk mengakses server pusat. Port agen cluster juga ditentukan sebagai port IP server yang berfungsi;

Jangkauan<диапазоны>– Rentang port IP untuk pemilihan dinamis. Dari jumlah tersebut, port layanan proses cluster dipilih jika tidak mungkin untuk memilihnya dari pengaturan server kerja yang sesuai. Bawaan: 1560-1591. Nilai contoh<диапазоны>: "45:49", "45:67,70:72,77:90";

Pilih<уровень>– tingkat keamanan proses agen cluster. Menentukan tingkat keamanan koneksi yang dibuat dengan proses ragent.exe.<уровень>dapat mengambil nilai berikut: 0 (default) koneksi tidak aman, 1 – koneksi aman hanya selama autentikasi pengguna, 2 – koneksi aman secara permanen.;

Rmsrvc – membatalkan pendaftaran agen cluster sebagai layanan Windows. Jika ragent.exe diluncurkan dengan kunci ini, maka ia membatalkan pendaftarannya di daftar layanan Windows dan keluar. Tidak kompatibel dengan sakelar -srvc, -daemon, -instsrvc.

Mulai - luncurkan ragent.exe, terdaftar sebagai layanan Windows. Meluncurkan ragent.exe, yang sebelumnya terdaftar sebagai layanan Windows, lalu keluar;

Stop - hentikan ragent.exe yang terdaftar dan dijalankan sebagai layanan Windows. Menghentikan ragent.exe, yang sebelumnya terdaftar dan dijalankan sebagai layanan Windows, lalu keluar;

Debug - meluncurkan cluster server dalam mode debugging konfigurasi. "

Jadi, jika server 1C:Enterprise diluncurkan sebagai layanan dan karena alasan tertentu server tersebut juga harus diluncurkan sebagai layanan dalam mode debug, Anda harus membatalkan pendaftaran layanan terlebih dahulu (kunci -rmsrvc), lalu mendaftarkan ulang layanan dengan kunci -debug.

Tentunya, efek serupa dapat dicapai dengan cara lain, misalnya dengan mengedit langsung registri Windows. Untuk melakukan ini, Anda mungkin harus membaca dokumentasi Windows Anda.

Hanya berfungsi jika kunci "-debug" disetel di registri. Dalam semua kasus lainnya, ini tidak berhasil karena alasan tertentu.

"Jalur Gambar"=

tadinya "F:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "F:\Program Files\1cv81\server"

atur "F:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -d "F:\Program Files\1cv81\server"

Diimplementasikan pada versi 8.3.7.1759.

Kami telah mendesain ulang mekanisme debugging secara signifikan. Ada beberapa alasan untuk hal ini. Pertama, kami ingin memberi Anda kemampuan untuk men-debug setiap aplikasi yang tersedia saat ini. Kedua, arsitektur debugger sebelumnya memerlukan perubahan agar dapat mengikuti tren saat ini dan mengakomodasi perkembangan di masa depan. Ketiga, diperlukan antarmuka debugging universal, yang tidak hanya menggunakan konfigurator 1C:Enterprise, tetapi juga .

Keuntungan utama

Agar Anda dapat membayangkan cakupan perubahan yang kami buat, kami akan mencantumkan secara singkat keunggulan utama mekanisme baru ini.

Debugging HTTP

Mekanisme debugging sebelumnya didasarkan pada fakta bahwa debugger, yang diimplementasikan dalam konfigurator 1C:Enterprise, berinteraksi langsung dengan item debug (aplikasi klien dan server). Interaksi ini dilakukan dengan menggunakan protokol TCP/IP.

Namun, dengan dirilisnya aplikasi 1C:Enterprise di Internet, dan khususnya dengan munculnya aplikasi seluler, pendekatan ini telah menjadi sumber keterbatasan dan ketidaknyamanan. Protokol TCP/IP tidak selalu mengizinkan debugger untuk “mencapai” item yang sedang di-debug. Lagi pula, mereka mungkin berada di luar jaringan lokal tempat debugger berjalan.

Oleh karena itu, dalam mekanisme baru, kami memilih protokol HTTP yang lebih “ada di mana-mana” sebagai protokol transport, yang juga digunakan oleh aplikasi klien untuk terhubung ke database informasi.

Arsitektur debugging modern

Fitur dari mekanisme debugging sebelumnya adalah kebutuhan untuk terhubung ke basis info menggunakan konfigurator. Akibatnya, pengembang debugging memiliki akses penuh ke semua fungsi administratif.

Mekanisme debugging baru tidak lagi memerlukan koneksi ke infobase yang sedang di-debug. Hal utama yang sekarang dibutuhkan debugger adalah konfigurasi yang sama yang berfungsi untuk klien. Untuk mendapatkannya, tidak perlu terhubung ke infobase yang sedang di-debug. Anda dapat memuatnya, misalnya, dari sebuah file.

Men-debug aplikasi seluler

Berkat penggunaan protokol HTTP, debug aplikasi yang dijalankan oleh platform seluler menjadi mungkin. Selain itu, Anda dapat men-debug konteks apa pun: klien, server, serta pekerjaan latar belakang.

Sekarang, selama proses debug, Anda dapat mengubah nilai variabel apa pun yang dapat ditulis. Untuk melihat dan mengubah variabel lokal dengan cepat, kami telah menerapkan jendela terpisah. Dan penghitungan ekspresi yang ditampilkan oleh debugger sekarang dilakukan dalam mode asinkron.

Debug di Alat Pengembangan

Saat membuat mekanisme debugging baru, kami menerapkan antarmuka perangkat lunak universal baru untuk berinteraksi dengannya. Antarmuka ini digunakan oleh konfigurator 1C:Enterprise, dan antarmuka yang sama sekarang digunakan oleh lingkungan pengembangan baru. Dengan demikian, semua kemampuan debugging sekarang tersedia saat bekerja di .

Arsitektur proses debugging

Arsitektur debugging baru terlihat seperti ini:

Debugging melibatkan debugger, item debug, dan elemen baru - server debug.

Tidak ada transfer informasi langsung antara item debugger dan debug. Semua interaksi diatur melalui server debugging. Ini adalah elemen utama dari mekanisme tersebut. Server debugging memiliki antrian pesan yang melaluinya item debugger dan debug meneruskan informasi satu sama lain.

Debugger itu sendiri dan item debug berkomunikasi dengan server debug melalui HTTP. Jadi sekarang tidak masalah di mana item debugging ini berada.

Interaksi dengan server debug dimulai oleh item debugger dan debug. Untuk tujuan ini, koneksi tambahan diatur. Tujuan utama mereka adalah untuk mengetahui apakah informasi telah muncul di server debug. Dan jika muncul, dapatkan informasi ini.

Dengan demikian, interaksinya bersifat sepihak. Informasi terus-menerus ditransfer dari server debug ke debugger, dan ke objek debug.

Identifikasi basis informasi

Dalam mekanisme sebelumnya, string koneksi digunakan untuk mengidentifikasi basis info. Solusi ini dalam beberapa kasus menyebabkan kesulitan dalam mencocokkan item debugging dan konfigurator. Karena, pertama, peka huruf besar-kecil, dan kedua, saat men-debug beberapa konteks, platform menghasilkan string koneksi secara otomatis. Dan itu tidak selalu sesuai dengan yang Anda tentukan saat menghubungkan basis info di konfigurator. Menemukan dan memperbaiki situasi seperti itu mempersulit proses debugging.

Dalam mekanisme baru kami menghilangkan string koneksi. Sekarang kami menggunakan pengidentifikasi basis informasi. Di basis info file, pengidentifikasi seperti itu dihasilkan saat pertama kali koneksi klien dibuat. Di basis info server, pengidentifikasi pendaftaran infobase di cluster digunakan sebagai pengidentifikasi tersebut.

Poin tambahan yang bagus di sini adalah kami masih mempertahankan mekanisme debugging lama di platform untuk saat ini (mungkin dikecualikan di masa mendatang). Dan Anda dapat menggunakannya jika Anda mau, atau jika perlu. Jadi kami telah memodifikasi mekanisme lama, dan sekarang juga menggunakan pengidentifikasi infobase, dan bukan string koneksi.

Skenario Debugging Khas

Dari sudut pandang pengembang aplikasi, skenario debugging yang umum tidak berubah. Satu-satunya perbedaan signifikan adalah mekanisme debugging baru harus diaktifkan. Karena secara default dinonaktifkan.

Terlepas dari itu, masuk akal untuk memahami apa yang terjadi sekarang saat Anda menjalankan proses debug. Karena ini mungkin berguna bagi Anda dalam beberapa skenario kerja non-standar.

Opsi berkas

Sebelum Anda mulai men-debug versi file, Anda perlu menunjukkan di pengaturan konfigurator bahwa Anda ingin menggunakan mekanisme debugging baru - “ Debugging HTTP».

Dalam hal ini, konfigurator akan secara otomatis meminta Anda untuk menggunakan server debugging lokal. Anda harus menyetujui ini dan memulai ulang konfigurator.

Metode debugging yang Anda atur disimpan di antara sesi konfigurator, tetapi disimpan dalam konteks basis info. Oleh karena itu, untuk basis info lain, Anda harus mengaktifkannya kembali.

Sekarang, ketika Anda memulai konfigurator, atau ketika Anda memulai ulang, platform akan secara otomatis meluncurkan server debugging. Ini adalah aplikasi dbgs.exe terpisah. Anda dapat melihatnya di task manager.

Parameter ownerPID menentukan pengidentifikasi aplikasi yang memiliki server debugging ini. Dalam hal ini, ini adalah konfigurator 1C:Enterprise.

Sekarang, jika Anda meluncurkan sesi debugging 1C:Enterprise dari konfigurator, maka secara otomatis akan terhubung ke server debugging, dan di konfigurator Anda akan melihat item debugging yang terhubung.

Jika sesi 1C:Enterprise diluncurkan tanpa debugging, maka, seperti sebelumnya, Anda dapat menghubungkannya ke debugger. Hanya sekarang Anda perlu menentukan alamat server debug:

Anda dapat menemukan alamat ini dari pengaturan item debug:

Ada satu hal yang tidak biasa terkait dengan bekerja dengan beberapa database file sekaligus. Dalam versi file, setiap konfigurator dengan http debugging diaktifkan meluncurkan salinan server debugnya sendiri pada port yang berbeda:

Oleh karena itu, jika Anda membuka beberapa konfigurator sekaligus, maka untuk menghubungkan aplikasi klien ke debugger, Anda harus memilih yang benar.

Opsi klien-server

Sebelum Anda mulai melakukan debug dalam versi klien-server, Anda perlu, seperti sebelumnya, memulai server 1C:Enterprise dalam mode debugging, tetapi menunjukkan bahwa mekanisme HTTP baru akan digunakan untuk debugging. Misalnya seperti ini:

ragent.exe -debug -http

Ketika server dimulai dengan cara ini, server debugging juga akan dimulai.

Parameter ownerPID akan menunjukkan pengidentifikasi manajer cluster 1C:Enterprise.

Sekarang dalam pengaturan konfigurator, seperti halnya database file, Anda perlu menunjukkan bahwa Anda ingin menggunakan mekanisme debugging baru - “ Debugging HTTP».

Dalam hal ini, konfigurator akan secara otomatis meminta Anda untuk menggunakan server debugging cluster, dan bukan server lokal. Anda harus menyetujui ini dan memulai ulang konfigurator.

Menghubungkan Item Debugging

Saat Anda memulai sesi debug dari konfigurator, aplikasi secara otomatis menghubungkan item debug (klien dan server) ke server debug.

Pada saat yang sama, seperti sebelumnya, Anda memiliki kesempatan untuk mengonfigurasi konfigurator untuk menghubungkan item debugging secara otomatis, terlepas dari bagaimana item tersebut diluncurkan. Sekarang kemungkinan-kemungkinan ini menjadi lebih kaya.

Pertama, platform sekarang menawarkan Anda semua kemungkinan item debugging untuk dipilih.

Dan kedua, cara pengaturan lain yang lebih halus telah muncul. Ini adalah penggunaan pilihan yang telah dibuat sebelumnya.

Anda dapat menggunakan pilihan tersebut saat menghubungkan item debug dan untuk melihat item debug yang tersedia.

Dalam pemilihan, selain item debugging itu sendiri, Anda dapat menentukan pengguna tertentu yang sesinya menarik bagi Anda, dan juga, jika pemisahan data digunakan, tunjukkan area basis info yang akan di-debug.

Mengubah variabel, properti objek, dan mengevaluasi ekspresi secara asinkron

Mekanisme debugging baru memungkinkan Anda mengubah nilai variabel saat melakukan debug. Pada mekanisme sebelumnya tidak ada kemungkinan seperti itu.

Untuk memudahkan melihat dan mengubah variabel lokal, yang tampaknya merupakan tugas paling umum, kami telah menerapkan “ Variabel lokal».

Secara lahiriah, ini sangat mirip dengan “Papan Skor” yang biasa Anda gunakan. Namun, pertama, jendela ini sudah otomatis terisi dengan semua variabel lokal, dan kedua, Anda kini dapat mengubah nilai variabel.

Anda dapat mengubah nilai tipe primitif langsung di sel " Arti»:

Dan untuk mengubah nilai lainnya, Anda dapat menggunakan jendela input ekspresi:

Bonus yang bagus adalah tooltip kontekstual berfungsi penuh di jendela ini.

Dengan cara yang persis sama, Anda dapat mengubah nilai variabel apa pun (tidak hanya lokal) dan properti yang dapat ditulis. Di jendela perhitungan ekspresi (yang dipanggil dengan perintah Shift+F9), Anda dapat mengubah nilai variabel baik di sel “Nilai” dan menggunakan dialog terpisah.

Omong-omong, penghitungan ekspresi itu sendiri sekarang dilakukan secara asinkron. Ini berarti bahwa konfigurator memerintahkan penghitungan item debugging. Dan untuk beberapa waktu perhitungan ini diharapkan ada di server. Jika perhitungan sudah selesai, hasilnya segera dikirim ke konfigurator. Jika penghitungan dilakukan dalam jangka waktu yang lama, maka hasil penghitungan tersebut akan sampai ke konfigurator secara asinkron nantinya. Pendekatan ini memungkinkan Anda untuk tidak menunggu perhitungan yang panjang di konfigurator dan melanjutkan pekerjaan Anda.