دوستان و علاقمندان به مباحث WPF وقتتون بخیر. با آموزش WPF از وب سایت آموزشی پی وی لرن همراهتون هستیم. اشکال زدایی یا Debugging در WPF چیست؟ اشکال زدایی یا Debugging به فرایندی گفته می شود که در طی آن باگ هایی که مانع از عملکرد صحیح یک نرمافزار یا سیستم می شوند را تشخیص و شناسایی کرده و تلاش می شود تا این مشکلات و ارورها برطرف شوند. مبحث اشکال زدایی یا Debugging در WPF در دو بخش تنظیم شده است.
Debugging یک مکانیسم سیستماتیک برای شناسایی و رفع اشکالات یا نقص های یک قطعه کد است که مطابق آن چه انتظار دارید رفتار نمی کند. اشکال زدایی در یک برنامه پیچیده که زیر سیستم ها به هم پیوسته هستند خیلی آسان نیست ، زیرا رفع اشکالات در یک زیر سیستم می تواند اشکالات را در زیر سیستم دیگر ایجاد کند.
در برنامه های WPF ، برنامه نویسان با دو زبان #C و XAML سر و کار دارند. اگر با اشکال زدایی به هر زبان رویه ای مانند #C یا C++ / C آشنا هستید و از استفاده از نقاط break نیز اطلاع دارید ، می توانید قسمت #C برنامه خود را به راحتی دیباگ کنید.
حال بیایید یک مثال ساده برای نشان دادن چگونگی اشکال زدایی در کد #C را بررسی نماییم. یک پروژه WPF جدید با نام WPFDebuggingDemo ایجاد کنید. چهار برچسب ، سه جعبه متن و یک دکمه را از جعبه ابزار درگ کنید. به کد XAML زیر توجه کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <Window x:Class = "WPFDebuggingDemo.Window1" xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml" Title = "Window1" Height = "400" Width = "604"> <Grid> <TextBox Height = "23" Margin = "0,44,169,0" Name = "textBox1" VerticalAlignment = "Top" HorizontalAlignment = "Right" Width = "120" /> <TextBox Height = "23" Margin = "0,99,169,0" Name = "textBox2" VerticalAlignment = "Top" HorizontalAlignment = "Right" Width = "120" /> <TextBox HorizontalAlignment = "Right" Margin = "0,153,169,0" Name = "textBox3" Width = "120" Height = "23" VerticalAlignment = "Top" /> <Label Height = "28" Margin = "117,42,0,0" Name = "label1" VerticalAlignment = "Top" HorizontalAlignment = "Left" Width = "120"> Item 1</Label> <Label Height = "28" HorizontalAlignment = "Left" Margin = "117,99,0,0" Name = "label2" VerticalAlignment = "Top" Width = "120"> Item 2</Label> <Label HorizontalAlignment = "Left" Margin = "117,153,0,181" Name = "label3" Width = "120">Item 3</Label> <Button Height = "23" HorizontalAlignment = "Right" Margin = "0,0,214,127" Name = "button1" VerticalAlignment = "Bottom" Width = "75" Click = "button1_Click">Total</Button> <Label Height = "28" HorizontalAlignment = "Right" Margin = "0,0,169,66" Name = "label4" VerticalAlignment = "Bottom" Width = "120"/> </Grid> </Window> |
در زیر کد #C ذکر شده است که در آن یک رویداد کلیک بر روی دکمه اجرا می شود.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace WPFDebuggingDemo { /// <summary> /// Interaction logic for Window1.xaml /// </summary> public partial class Window1 : Window { public Window1() { InitializeComponent(); } private void button1_Click(object sender, RoutedEventArgs e) { if (textBox1.Text.Length > 0 && textBox2.Text.Length > 0 && textBox2.Text.Length > 0) { double total = Convert.ToDouble(textBox1.Text) + Convert.ToDouble(textBox2.Text) + Convert.ToDouble(textBox3.Text); label4.Content = total.ToString(); } else { MessageBox.Show("Enter the value in all field."); } } } } |
وقتی کد بالا را کامپایل و اجرا می کنید ، پنجره زیر تولید می کند. اکنون مقادیر را در جعبه متن وارد کرده و دکمه Total را بزنید. بعد از جمع کردن تمام مقادیر وارد شده در صندوق های متنی ، مقدار کل را دریافت خواهید کرد.
اگر سعی کنید مقادیری غیر از مقادیر واقعی وارد کنید ، برنامه فوق خراب می شود. برای پیدا کردن و حل مسئله (چرا خراب است) ، می توانید نقاط break را در رویداد دکمه کلیک وارد کنید.
حال بیایید “abc” را در آیتم ۱ بنویسید همان طور که در زیر آمده است.
پس از کلیک بر روی دکمه Total ، خواهید دید که برنامه در نقطه break متوقف می شود.
اکنون مکان نما را به سمت textbox1.Text حرکت دهید و خواهید دید که این برنامه در تلاش است مقدار abc را با سایر مقادیر اضافه کند و به همین دلیل خراب است.
در این بخش از آموزش WPF ، مبحث اشکال زدایی یا Debugging در WPF را آغاز نمودیم و همچنین در مورد اشکال زدایی یا Debugging در #C نیز مباحث و مثالی بیان شد. در قسمت بعد نیز این مبحث را ادامه خواهیم داد و ابزارهای Debugging یا اشکال زدایی UI برای XAML را نیز توضیح خواهیم داد. با وب سایت آموزشی پی وی لرن همراه باشید.