”'GDI'发生一般性异常“ 打印一个图片每个像素的RGB值时

”'GDI'发生一般性错误“ 打印一个图片每个像素的RGB值时
小弟刚看到图像编程,发生这个错误,在网上查了一些答案,但是没有效果,诚心求助。

            int nX=10;//这里为了简单,取每行前10个像素,pic.Width
            int nY=2;//这里取前2列,pic.Height
            
            BitmapData bmd = pic.LockBits(new Rectangle(0, 0, pic.Width, pic.Height), ImageLockMode.ReadWrite,                        PixelFormat.Format24bppRgb);
          

            int stride = bmd.Stride;
            System.IntPtr scan0 = bmd.Scan0;
         
            unsafe
            {
                byte* p = (byte*)(void*)scan0;
          
                for (n = 0; n < nY; n++)//代表行数
                {
                    for (m = 0; m < 3; m++)//代表RGB分量
                    {
                        for (i = 0; i < nX; i += 1)//代表列数
                        {
                            
                            richTextBox1.Text += p[n * stride  + i * 3 + m].ToString() + "  ";
                        }
                    }
                   pic.UnlockBits(bmd);   //提示这里 GDI发生一般性错误
                    this.Invalidate();
                }
            }


-----------------------------------------------------------------
当我nY取1时,也就是只打印第一行的像素时,没有报错,当我nY取大于1时就报错了,郁闷。
------解决方案--------------------
没用过呢,帮你顶下吧,加油,开心每一天