Exemple #1
0
 public DkmEvaluationResult TryEvaluate(string expr)
 {
     using (var cppExpr = DkmLanguageExpression.Create(CppLanguage, DkmEvaluationFlags.NoSideEffects, expr, null)) {
         DkmEvaluationResult cppEvalResult = null;
         var cppWorkList = DkmWorkList.Create(null);
         _cppInspectionContext.EvaluateExpression(cppWorkList, cppExpr, _nativeFrame, (result) => {
             cppEvalResult = result.ResultObject;
         });
         cppWorkList.Execute();
         return(cppEvalResult);
     }
 }
Exemple #2
0
        private bool EvaluateExpression(string expression, Action <DkmSuccessEvaluationResult> onSuccess)
        {
            var workList = DkmWorkList.Create(null);
            var success  = false;

            _inspectionContext.EvaluateExpression(workList, CppExpression(expression), _frame, res =>
            {
                var resObj = res.ResultObject;
                var result = resObj as DkmSuccessEvaluationResult;
                if (result != null)
                {
                    success = true;
                    onSuccess(result);
                }

                resObj.Close();
            });

            workList.Execute();
            return(success);
        }